Questions tagged «proxypass»

Apache中的ProxyPass和Nginx中的proxy_pass是用于指定哪个后端或远程服务器应处理请求的指令

4
如何使用Nginx proxy_pass删除路径
我在拥有一个正在运行的Web应用程序http://example.com/,并且想在上的单独服务器上“挂载”另一个应用程序http://example.com/en。上游服务器proxy_pass似乎可以运行,但是有一个问题: upstream luscious { server lixxxx.members.linode.com:9001; } server { root /var/www/example.com/current/public/; server_name example.com; location /en { proxy_pass http://luscious; } } 打开时example.com/en,我的上游应用程序返回404 not found /en。这是有道理的,因为上游没有路径/en。 是proxy_path正确的解决方案?我应该重写“上游”,以便它/en代替它作为根路径吗?还是有一条指令允许我重写传递到上游的路径?
77 nginx  path  proxypass 

2
带有SSL的Apache ProxyPass
我想通过非SSL站点代理来自SSL站点的请求。我的Apache httpd.conf看起来像这样: <VirtualHost 1.2.3.4:80> ServerName foo.com ProxyPass / https://bar.com/ </VirtualHost> 因此,当我访问http://foo.com时,我希望apache向https://bar.com发出请求,并将其获取的页面发送给我。 相反,我得到一个500错误,并且在错误日志中,我看到: [error] proxy: HTTPS: failed to enable ssl support for 4.3.2.1:443 (bar.com) 大概我在这里缺少指令。可能是哪个? 不用担心安全隐患。我完全了解风险。

2
Nginx位置正则表达式不适用于代理通行证
我正在尝试使这2个位置指令在Nginx中起作用,但是在引导Nginx时却出现了一些错误。 location ~ ^/smx/(test|production) { proxy_pass http://localhost:8181/cxf; } location ~ ^/es/(test|production) { proxy_pass http://localhost:9200/; } 这是我收到的错误: nginx: [emerg] "proxy_pass" cannot have URI part in location given by regular expression, or inside named location, or inside "if" statement, or inside "limit_except" block 听起来有人熟悉吗?我在这里想念什么?
43 nginx  proxy  regex  proxypass 

4
为jboss / tomcat配置nginx
此问题已从堆栈溢出迁移,因为可以在服务器故障时回答。 迁移 8年前。 为了使用Apache将流量通过端口80传递到JBoss / TomCat,我们使用安装和配置mod_jk。 Nginx是否具有等效功能?基本上希望所有端口80流量都传递给jboss。

2
代理通行证不起作用
我正在尝试让ProxyPass在我的OpenSUSE 13.1安装上工作。 我试过了: a2enmod proxy a2enmod proxy_http a2enmod proxy_connect systemctl restart apache2 systemctl reload apache2 (所有语句组合无济于事)。 我不断收到相同的错误: SERVER:/etc/apache2 # apache2ctl start -f /etc/apache2/httpd-proxy.conf AH00526: Syntax error on line 4 of /etc/apache2/httpd-proxy.conf: Invalid command 'ProxyPass', perhaps misspelled or defined by a module not included in the server configuration httpd-proxy.conf看起来像: <VirtualHost *:80> …

3
Nginx代理域到另一个没有更改URL的域
我的问题在主题中。我有一个域,它是nginx的配置: server { listen 80; server_name connect3.domain.ru www.connect3.domain.ru; access_log /var/log/nginx/connect3.domain.ru.access.log; error_log /var/log/nginx/connect3.domain.ru.error.log; root /home/httpd/vhosts/html; index index.html index.htm index.php; location ~* \.(avi|bin|bmp|css|dmg|doc|docx|dpkg|exe|flv|gif|htm|html|ico|ics|img|jpeg|jpg|js|m2a|m2v|mov|mp3|mp4|mpeg|mpg|msi|pdf|pkg|png|pps|ppt|pptx|ps|rar|rss|rtf|swf|tif|tiff|txt|wmv|xhtml|xls|xml|zip)$ { root /home/httpd/vhosts/html; access_log off; expires 1d; } location ~ /\.(git|ht|svn) { deny all; } location / { #rewrite ^ http://connect2.domain.ru/; proxy_pass http://127.0.0.1:8080/; proxy_redirect off; proxy_hide_header "Cache-Control"; add_header Cache-Control …
18 nginx  proxypass 

2
您可以同时使用重定向和Proxypass吗
我在CentOS上使用Apache 2.2.15为TomCat应用程序提供SSL。 ProxyPass / http://127.0.0.1:8090/ connectiontimeout=300 timeout=300 ProxyPassReverse / http://127.0.0.1:8090 这很好,一切都很好。但是,我想添加以下行: Redirect permanent /broken/page.html https://www.servername.com/correct/page.html 在执行上述操作之前,要先处理TomCat应用程序本身中的错误。但是,它似乎没有按我期望的方式工作(即,它似乎什么也不做,什么也没改变)。是否可以通过这种方式使用重定向?不幸的是,我没有编辑该应用程序的能力。

4
如何通过UNIX套接字配置Nginx proxy_pass Node.js HTTP服务器?
我正在尝试配置Nginx服务器以通过UNIX域套接字连接到Node.js HTTP服务器。 Nginx配置文件: server { listen 80; location / { proxy_pass http://unix:/tmp/app.socket:/; } } (根据http://wiki.nginx.org/HttpProxyModule#proxy_pass) Node.js脚本: var http = require('http'); http.createServer(function(req, res) { console.log('received request'); req.end('received request\n'); }).listen('/tmp/app.socket'); 现在,当我尝试致电 curl http://localhost/ 我在curl中只得到502 Bad Gateway错误页面,而在Node.js进程上什么也没有。 难道我做错了什么? 编辑: 在尝试了Quanta的解决方案之后,该错误必定与Nginx配置有关,因为Node.js进程正确建立了与套接字的连接。 我还尝试通过这种方式配置Nginx: upstream myapp { server unix:/tmp/app.socket; } server { listen 80; location / …

1
ProxyPass:将目录URL重定向到非标准端口
我一直在搜索Google,但没有找到成功的答案。我在Ubuntu上运行服务器,并且安装了使用各种非标准端口的程序。每个服务器使用不同的端口,在我的情况下分别是9090、9091、9092、9093和9094。我设置了一个apache服务器,并拥有一个域名,该域名现在可以访问我的服务器,而不必键入我的IP地址。我正在寻找一种创建目录的方法,该目录可以指向我列出的不同端口。我想要类似的东西: https://www.mydomain.com/app1 https://www.mydomain.com/app2 http://www.mydomain.com/app3 有些端口通过SSL传输,有些则不是,我只是按顺序整理(9090-9094),以便于我方便使用。我想将/ app1指向SSL端口9090,将/ app2指向SSL端口9091,将/ app3指向非SSL端口9092。是否有一种简单的方法?我已经尝试根据其他帖子添加ProxyPass之类的东西,但是没有任何效果。我需要添加一个新站点吗? 另外,如果这涉及到编辑文件(我希望这样做),那么如果您可以列出文件的默认位置以及在何处添加内容,将不胜感激。我一直看到有人说要添加ProxyPass,所以我只是假设它在VirtualHost内,但是我不确定。基本上,我对Web服务器设置知之甚少,因此需要这样对待。 对于不正确的标签,我们深表歉意,感谢您花时间阅读该帖子以及您可以提供的任何帮助。 编辑:为澄清起见,应用程序已经可以通过https://www.mydomain.com:9090等访问。我只想使用一种方法来https://www.mydomain.com/appName访问这些应用程序发布的相同位置/页面。 编辑2:从/ etc / apache2 / sites-available / default <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory …

3
帮我了解如何使用ProxyPass
更新:在解决了以下两个答案之后,我添加了一个修订的问题。 嗨,您好, 如果您正在阅读本文,那么您可能熟悉Apache的mod_proxy及其ProxyPass函数。像许多其他应用程序一样,我遇到了一个问题,我可以从内部网络外部访问该应用程序,但是该应用程序本身可以访问不同计算机上的其他内部应用程序,并且当您使用此设置进行远程访问时,事情会变得很糟。 因此,我的设置非常简单,我有: 机器#1启用了远程访问,我通过主机名访问它,它吐出了在其上运行的PHP应用程序。 Machine#2是运行Django的新应用程序,它使用完全不同的后端(甚至是auth),它托管在单独的计算机上。在我们的Intranet中,我们通过一个简单的命名主机名访问它,该主机名基本上链接到内部192.168.0.101 ip。 我尝试使用ProxyPass进行设置,例如,传递给/ new会将其发送到新应用程序: ProxyPass /新http://192.168.0.101/ 这种工作方式将请求发送到另一个应用程序,但由于我的Django应用程序想要重定向到/ auth / login /,该请求立即中断了,但是它无法识别,因此中断了。如果我自己将url修改为foo.net/new/auth/login,则会得到我的登录页面,但是您可能会猜测在整个浏览过程中这样做并不方便。 那么,如何让ProxyPass可以根据需要工作呢?我是否需要对Apache做一些事情,以便它始终在其他应用程序中的url之前写入/ new,还是应该在Django应用程序中对其进行修改? 任何技巧和指针也将不胜感激。谢谢你的时间

1
如何防止Nginx反向代理特定子目录
在Apache上,您可以ProxyPass除一个或多个子目录(带有“!”)之外的所有内容。 ProxyPass /subdir ! ProxyPass / http://localhost:9999/ 什么是Nginx等效项? 我的第一个猜测显然是行不通的: location /subdir { root /var/www/site/subdir; } location / { proxy_pass http://localhost:9999/ ; }

1
Apache ProxyPass或ProxyPassMatch从代理中排除文件
我将VirtualHost设置为将所有请求代理到在端口9000上运行的另一台服务器。 我有的 : ProxyPass / http://localhost:9000/ ProxyPassReverse / http://localhost:9000/ 我尝试过的 ! ProxyPass /test.html http://localhost:9000/ ProxyPass /test.html ! http://localhost:9000/ ProxyPassMatch !^/(.*\.html)$ http://localhost:9000/$1 没有一个起作用... 我想从一个文件中排除一个文件或一组文件,该文档说了一些有关“!指令在您不希望反向代理子目录的情况下很有用。”,但是没有示例。对于那种情况。

5
如何将Web服务器的DNS从一个IP地址平稳地迁移到另一个IP地址?
我目前在Linux / Apache服务器上注册了一个域名,该域名将用新IP地址上的另一个域名替换。 迁移数据将相对较快,在此过程中中断5分钟是可以接受的。 DNS记录的TTL显然为6到12个小时,我无法加快速度。 这种变化可能带来什么后果?假定仍在查看旧地址的用户将继续访问旧服务器,而dns缓存已过期或为空的用户将看到新域。 是否可以从旧服务器(使用Apache或iptables)到新IP进行某种重定向?旧服务器可以根据需要继续运行。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.