Questions tagged «mod-proxy»

apache网络服务器的模块,apache可用作代理服务器。通过此模块,apache可以充当常规代理或上游服务器的反向代理。

3
如何为Apache Mod_proxy排除URL?
我们使用mod_proxy模块作为负载均衡器配置了两个Apache服务器作为前端,并使用4个tomcat服务器作为后端。现在,我们要从mod_proxy负载均衡器中排除单个tomcat url。有什么方法或规则可以排除吗? 代理平衡器设置: <Proxy balancer://backend-cluster1> BalancerMember http://10.0.0.1:8080 loadfactor=1 route=test1 retry=10 BalancerMember http://10.0.0.2:8080 loadfactor=1 route=test2 retry=10 </Proxy>

8
Apache2代理超时
我有根据以下配置配置的具有PHP + PHP-FPM的Apache2: http://wiki.apache.org/httpd/PHP-FPM 我正在编写一个脚本,该脚本将需要很长时间才能在内部Vhost上执行,但是随着时间的推移,如果脚本在30秒内执行完毕,一切都将完美运行。 我的apache日志告诉我: [Wed Apr 17 21:57:23.075175 2013] [proxy_fcgi:error] [pid 9263:tid 140530454267648] (70007)The timeout specified has expired: [client 58.169.202.172:49017] AH01075: Error dispatching request to :, referer: 尝试运行脚本时503 Service Unavailable,恰好在30秒的执行时间后给出了a 。从逻辑上讲,这意味着我将超时指令或设置设置为30秒,但是我将这些存储在Vhost的配置中: Timeout 600 <IfModule proxy_module> ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9001/home/pyrokinetiq/scripts/$1 timeout=600 ProxyTimeout 600 </IfModule> (php-fpm对我来说在9001端口上运行) 我也曾尝试放置Timeout,并ProxyTimeout在httpd.conf与无差异。 似乎还有一个特定于的超时设置mod_proxy_fcgi,但我找不到。我从官方tarball安装了Apache2 httpd,似乎所有mod均未附带任何配置文件。 如果有人能指出我正确的方向,将不胜感激。

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> …

1
Proxypass指令是否需要ProxyPassReverse指令?
是否所有ProxyPass指令都需要ProxyPassReverse指令? ProxyPass / http://foo.example.com:8080/ ProxyPassReverse / http://www.example.com/ 我看到了这段代码,并且了解到所有进入的流量都foo.example.com被代理到foo.example.com:8080。第二行是做什么的?

3
使用mod_proxy对SOAP服务进行反向代理时出现间歇性错误
使用mod_proxy作为SOAP Web服务的反向代理时,每隔几分钟就会收到此错误。每秒可能有3或4个请求,因此我们正在讨论的每千个错误中有1或2个。 [Tue Nov 23 11:44:14 2010] [error] [client 172.16.1.31] (20014)Internal error: proxy: error reading status line from remote server soap1.server:8888 [Tue Nov 23 11:44:14 2010] [error] [client 172.16.1.31] proxy: Error reading from remote server returned by /someapp/path/to/web/service 这将导致请求失败。如果我不使用代理将客户端直接连接到Soap服务器,则成功率为100%,因此问题似乎出在代理中 配置看起来像这样。目的是在主服务器不可用时切换到备份服务器: <Proxy balancer://apicluster> BalancerMember http://soap1.server:8888 lbset=0 BalancerMember http://soap2.server:8888 lbset=1 </Proxy> ProxyPass …

3
Apache代理不适用于本地主机端口
我在端口80上运行了Apache 2.2.15,并希望在本地主机端口8983上代理一个servlet引擎。我在另一台服务器上运行了安装程序,但已移至CentOS 6机器上。在新计算机上不起作用。我的虚拟主机配置: 代理请求关闭 <代理*> 拒绝订单,允许 全部允许 </ Proxy> ProxyPass / http:// localhost:8983 / ProxyPassReverse / http:// localhost:8983 / 如果使用浏览器并直接访问端口(而不通过Apache代理),则可以访问端口8983,但是如果访问/通过Apache服务器,则无法连接至端口。 我可以将代理的内容更改为http://slashdot.org之类的内容,然后Slashdot可以成功代理(因此,我知道它通常可以代理)。 我在Apache中打开了调试日志,这是事务: [2012年4月22日16:47:04星期日] [调试] mod_proxy_http.c(56):代理:HTTP:规范化URL // localhost:8983 / [2012年4月22日16:47:04,星期日] [调试] proxy_util.c(1506):[客户端184.39.79.7]代理:http:为http:// localhost:8983 /找到了工作程序http:// localhost:8983 / [2012年4月22日16:47:04星期日] [调试] mod_proxy.c(998):正在运行方案http处理程序(尝试0) [2012年4月22日16:47:04星期日] [调试] mod_proxy_http.c(1962):代理:HTTP:服务URL http:// localhost:8983 / [2012年4月22日16:47:04,星期日] [调试] proxy_util.c(2011):代理:HTTP:已获取(localhost)的连接 [2012年4月22日16:47:04] [调试] proxy_util.c(2067):代理:将http:// …

6
如何启用通过Mod代理的请求的日志记录
有没有一种方法可以记录通过mod Proxy进行的请求?我需要一种调试配置的方法,因为我似乎并没有达到应有的水平。我需要以下信息: 传入请求的标头 发送到代理目标的内容 也许是一个相关的问题:是否有一种方法可以剥离一些标头?我尝试了以下方法: ProxyPass /proxy/other http://not.under.my.control/ <Location /proxy/other> ProxyPassReverse / RequestHeader unset Authorization </Location> 我真的不知道这是否可以,因为我什么也看不到。

2
反向代理中的Apache URL重写
我将Apache部署在Karaf托管的应用程序之前(Apache和Karaf在单独的服务器上)。我希望Apache充当反向代理,并且还隐藏URL的一部分。 直接从应用服务器获取应用程序登录页面的URL是http://app-server:8181/jellyfish。页面由Karaf中运行的Jetty实例提供服务。当然,除了反向代理服务器之外,所有防火墙都通常会阻止此行为。 在关闭防火墙的情况下,如果您单击此URL,则Jetty会加载登录页面。浏览器的地址栏正确更改为http://app-server:8181/jellyfish/login?0,一切正常。 我想要的是http://web-server(即从根目录)映射到应用服务器上的Jetty,而jellyfish取消了应用的名称()。例如,浏览器将更改为显示http://web-server/login?0在地址栏中,并且所有后续URL和内容都将由Web服务器的域提供,而不会造成jellyfish混乱。 我可以使用以下配置(代码段)将Apache用作简单的反向代理:- ProxyPass /jellyfish http://app-server:8181/jellyfish ProxyPassReverse / http://app-server:8181/ ...但是这需要浏览器的URL包含在内jellyfish,转到根URL(http://web-server)会显示404 Not Found。 我花了很多时间尝试使用mod_rewrite带有和不带有它的[P]标志的方法来解决这个问题,但是没有成功。然后ProxyPassMatch,我尝试了该指令,但似乎也无法完全正确。 这是当前配置,已加载到/etc/apache2/sites-available/Web服务器上。请注意,这里有一个本地托管的图像目录。我还保留了mod_rewrite代理漏洞利用保护,并抑制了一些mod_security会带来误报的规则。 <VirtualHost *:80> ServerAdmin admin@drummer-server ServerName drummer-server ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined Alias /images/ "/var/www/images/" RewriteEngine On RewriteCond %{REQUEST_URI} !^$ RewriteCond %{REQUEST_URI} !^/ RewriteRule .* - [R=400,L] ProxyPass /images ! ProxyPassMatch ^/(.*) http://granny-server:8181/jellyfish/$1 …

1
带有ProxyPass的Apache httpd错误“代理:ap_get_scoreboard_lb”
我设置了apache来代理tomcat,但是当我定位页面时却遇到了以下错误。有时会出现空白页或503: [错误] [Mon Dec 03 04:58:16 2012] [error] proxy: ap_get_scoreboard_lb(2) failed in child 29611 for worker proxy:reverse [Mon Dec 03 04:58:16 2012] [error] proxy: ap_get_scoreboard_lb(1) failed in child 29611 for worker https://localhost:8443/ [Mon Dec 03 04:58:16 2012] [error] proxy: ap_get_scoreboard_lb(0) failed in child 29611 for worker http://localhost:8080/ 我在虚拟机上配置了两个虚拟主机,如下所示: [http主机] <VirtualHost …

3
代理:传递请求正文失败
我正在尝试启用代理虚拟主机: <VirtualHost *:80> ServerName xxxxx.domain.tdl SSLProxyEngine On SSLProxyCheckPeerCN on ProxyPass / https://localhost:1234 ProxyPassReverse / https://localhost:1234 </VirtualHost> 但是我有一个500 err和我的error.log(apache2)显示: [2012年1月3日星期二15:41:42] [错误](502)未知错误502:代理:传递请求正文失败到[:: 1]:1234(localhost) [2012年1月3日星期二15:41:42] [错误]代理:传递请求正文从82.252.xxx.xx()到[:: 1]:1234(localhost)失败 缺少一些参数?

1
我该如何配置mod_proxy不专门不缓存503错误?
这是我的mod_proxy配置: <IfModule mod_proxy.c> <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /manage/ http://localhost:9000/manage/ ProxyPassReverse /manage/ http://localhost:9000/manage/ </IfModule> 我发现,只要我在端口9000上拥有的其他网站没有正确响应,我就会遇到503错误-即使该网站修复后,该错误仍然存​​在。换句话说,503响应似乎已被缓存。 如何禁用它?我认为自己尚未启用缓存,也许这是默认设置。

2
设置基本的mod_proxy虚拟主机
我正在尝试建立一个基本的虚拟主机,以将所有test.local的请求代理到我在127.0.0.1:8080上运行的WEBrick服务器上,同时将对localhost的所有请求都保留到/ var / www中的静态文件中。我正在运行Ubuntu 10.04。 我安装了libapache2-mod-proxy-html,并且已使用a2enmod代理启用了该模块。我还启用了虚拟主机。但是,每当我去test.local时,总会收到一个神秘的500服务器错误,并且我的所有日​​志都告诉我: [Thu Mar 03 01:43:10 2011] [warn] proxy: No protocol handler was valid for the URL /. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule. 这是我的虚拟主机: <VirtualHost test.local:80> LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so ServerAdmin …

1
通过代理服务所有请求*特定对象除外
我的httpd.conf中包含以下内容 <VirtualHost *:80> ServerName foo.org ServerAlias www.foo.org <Proxy *> Options FollowSymLinks MultiViews Order allow,deny Allow from all AllowOverride All </Proxy> ProxyPass / http://127.0.0.1:5012/ ProxyPassReverse / http://127.0.0.1:5012/ </VirtualHost> 当使用不同的Web服务器从端口5012获得对http://foo.org的所有请求时,此方法效果很好。但是,我只想通过Apache从端口80 提供http://foo.org/lib。我该怎么做?将以下行添加到conf中无济于事 Alias /lib /path/to/lib <Directory "/path/to/lib"> AllowOverride None Options None Order allow,deny Allow from all </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
使用apache作为HTTPS到HTTP代理
我正在尝试在Centos 6上配置Apache,以代理和反向代理流量到第三方提供商的http服务器。 设置应该像这样工作:将 https://mydomain.com/proxy/ 所有流量透明地代理到 http://thirdparty.com/app/ 我遇到的问题是作出任何响应以https://mydomain.com/proxy/获取301重定向的请求。 这些是我所有与代理相关的选项 VirtualHost SetOutputFilter proxy-html ProxyHTMLExtended On ProxyRequests Off SSLProxyEngine On <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /proxy/ http://thirdparty.com/app/ <Location /proxy/> ProxyPassReverse / ProxyHTMLEnable On ProxyHTMLURLMap http://thirdparty.com/app/ /proxy/ ProxyHTMLURLMap / /proxy/ </Location>

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.