也许这是一个noob问题,但通常我不必处理这些东西。 我刚刚安装了mod_proxy的Apache,我想用它作为转发http代理。 我想要做的是,如果一个特定格式的请求被一个Web客户端执行,那么请求将被发送到另一个目的地URL,而客户端不会注意到它。 不pipe域名是什么,当域名之后直接包含“mysign”时,它应该被发送到目的地,我在我的configuration中指定。 例如,所有跟随的请求应发送到“ http:// localhost / mysign / ”,而不是普通的目的地: http://www.gooogle.com/mysign http://www.another.com/mysign http://web.dev.us/mysigne/total?p=2 以下要求不应该通过: http://mysign.not.com/test http://wwww.ende.com/do/not/mysign 我怎样才能configuration? 更新:我不想发送redirect到客户端。 客户端浏览器不应该注意到,响应是由另一个端点发送的,而不是已经完成的。
我遇到了各种问题,试图将自定义ErrorDocuments添加到我的服务器。 我使用代理平衡器来共享两个Zope实例之间的负载和一些简单的重写规则,以将我的域映射到本地zope实例。 我很确定Zope 不是问题,但已经提到它解释平衡器redirect到什么。 我已经尝试了一些build议,但是我能得到的“最接近的”包含在下面,并导致错误: “Firefox已经检测到服务器正以一种永远不会完成的方式redirect这个地址的请求。” 其他变化导致: “由于维护停机或容量问题,服务器暂时无法处理您的请求,请稍后重试。 此外,尝试使用ErrorDocument处理请求时遇到503服务暂时不可用错误。 如果我包括一个简单的 ErrorDocument 503你好 它呈现很好。 我究竟做错了什么? 我担心这可能是与平衡器/重写获取自定义错误的方式? 或者说我的DocumentRoot设置不正确? 这个configuration的其余部分运行正常,没有自定义错误。 <VirtualHost> VirtualHost XXX.XXX.XXX.XXX:80> ServerAdmin webmaster@localhost ServerName sub.domain.com <Proxy balancer://domain_dev> BalancerMember http://XXX.XXX.XXX.XXX:81 BalancerMember http://XXX.XXX.XXX.XXX:82 </Proxy> RewriteEngine On RewriteRule ^(.*)$ balancer://domain_dev$1 [P,L] <Location /> Order allow,deny Allow from all </Location> </VirtualHost> Listen 81 Listen 82 <VirtualHost XXX.XXX.XXX.XXX:81> CustomLog /var/log/apache2/domain-dev-1.log combined […]
我使用Apache + mod___wsgi和nginx作为静态媒体服务器来设置Django服务器。 我应该把哪个服务器放在另一个服务器前面? Apache使用mod___proxy或nginx? 我听到不同的人说不同的事情。 据我所知,把nginx放在前面稍微快一些,但我失去了使用.htaccess文件和mod_rewrites的能力。 设置起来也稍微复杂一些。 它是否正确? 来!我们讨论一下 :-) 澄清: 我听说在Apache或Nginx中发生代理是如此便宜,它是真正的无关。 在代理完成之前,apache不会“浪费”任何资源。 我真的想把这个东西放在头上,我真的是一个编码器:P
我有2个应用程序在JBoss上运行,并在前台安装了Apache服务器。 这些应用程序目前正在被Apache代理: ProxyPass /App1 http://mydomain.com:8080/App1 ProxyPassReverse /App1 http://mydomain.com:8080/App1 ProxyPass /App2 http://mydomain.com:8080/App1 ProxyPassReverse /App1 http://mydomain.com:8080/App1 我有2个子域: app1.mydomain.com app2.mydomain.com 所以我现在可以访问我的应用程序: http://app1.mydomain.com/App1 http://app2.mydomain.com/App2 我如何configurationApache,以便可以通过以下方式提供这些应用程序: http://app1.mydomain.com http://app1.mydomain.com 有没有可能用mod_rewrite规则做到这一点? 谢谢!
如果您通过反向代理访问文件,并且找不到文件(返回404),apache2 / mod_proxy是否可以通过另一个反向代理自动检查另一台服务器上的文件? 工作stream程如下:1.请求服务器上的文件做反向代理2.服务器在服务器A上查找文件3.在服务器A上找不到文件,所以它检查服务器B 4.在服务器B上find文件,所以它被返回。 我已经知道其他产品可以做到这一点,但我很好奇,如果mod_proxy可以做到这一点?
我有一个情况,我有一个负载均衡器设置Apache2和mod-balancer将负载平衡两个Apache2的Web服务器。 我希望我的负载平衡器能够服务于多个站点,但是目前我创build的每个虚拟主机似乎都服务于同一个站点。 在负载平衡器(lb1)上,我启用了default虚拟主机,这样当您浏览到负载均衡器IP地址时,您将看到标准的Apache2消息。 以下是我用于负载平衡器可以服务的所有后续域的虚拟主机布局(当然,将mydomain.comreplace为实际域名): <VirtualHost *> ServerName www.mydomain.com ServerAlias mydomain.com ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> <Proxy balancer://mydomain.com.cluster> BalancerMember http://web1.mycluster.com:80 route=web1 retry=5 BalancerMember http://web2.mycluster.com:80 route=web2 retry=5 ProxySet lbmethod=byrequests </Proxy> ProxyPass / balancer://mydomain.com.cluster/ stickysession=BALANCEID n$ ProxyPassReverse / http://web1.mycluster.com/ ProxyPassReverse / http://web2.mycluster.com/ </VirtualHost> 这是Web服务器( web1 & web2 )末端上的虚拟主机的外观。 两个Web服务器都启用相同的虚拟主机。 虚拟主机之间的唯一区别是分别引用web1或web2 (我在这里显示web1的虚拟主机): <VirtualHost *> […]
我正在用apache创build一个反向代理框,我对此有一些疑问: 我怎么能加载一些文件,说robots.txt,而不是实际的主机反向代理框? 允许在代理服务器上加载.htaccess是明智的吗? 他们代理盒子的重写规则呢? 我应该把我的重写规则放在哪里? 在虚拟主机或.htaccess? 如果我允许从代理框加载.htaccess,是不是有问题有2 .htaccess? 我想只有一个会被加载。 那么在http上的反向代理网站以及https呢? 我需要一些特殊的设置? 创build反向代理时是否有任何问题需要注意? 我已经知道使用mod_proxy_html来更正html文件中的链接。
我正在一个可以从互联网(外部)和公司内部(内部)访问的环境中运行Servlet容器(端口8080)上的WebApplication,例如 http://external.foo.bar/MyApplication http://internal.foo.bar/MyApplication 使用带有mod_proxy的apache http服务器将包含(外部/内部)请求redirect到servlet容器。 configuration如下所示: ProxyPass /MyApplication http://localhost:8080/MyApplication retry=1 acquire=3000 timeout=600 Keepalive=On ProxyPassReverse /MyApplication http://localhost:8080/MyApplication 我现在正面临一些MyApplication响应依赖原始请求URL的问题。 具体来说:一个WSDL文档将被提供一个元素,该元素具有一个schemaLocation="<RequestUrl>?xsd=MyApplication.xsd"元素。 用我目前的configuration,它总是看起来像 <xs:import namespace="…" schemaLocation="http://localhost:8080/MyApplication?xsd=MyApplication.xsd"/> 但应该是 External Request: <xs:import namespace="…" schemaLocation="http://external.foo.bar/MyApplication?xsd=MyApplication.xsd"/> Internal Request: <xs:import namespace="…" schemaLocation="http://internal.foo.bar/MyApplication?xsd=MyApplication.xsd"/> 我想这是一个共同的要求。 但是由于我不熟悉apache http服务器及其模块的configuration,如果有人可以提供一些(详细的)帮助,我会很高兴。 提前致谢! PS:我也发布了这个在stackoverflow,但认为这可能是更好的地方。
我在代理服务器(apache mod_proxy)后部署MySQL服务器。 当我尝试连接使用MySQL客户端或使用PHP连接到MySQL服务器时,我得到这个错误。 Lost connection to MySQL server at 'reading initial communication packet', system error: 0 我尝试通过设置绑定地址为0.0.0.0并注释它,但注意到工作。 我正在代理服务器上进行一些端口映射,除了使用代理服务器进行代理外。 例如: ProxyPass / 123.145.1.5:13306 ProxyPassReverse / http://123.145.1.5:13306 我已经设置了Apache服务器来监听3306,并且在代理服务器上没有运行mysql服务器。
有什么办法可以告诉我们一个SetEnvvariables是否被Apache加载? 我正在设置: SetEnv proxy-sendchunked 1 但是没有办法告诉它是否真的被设置。 有没有可以启用的日志显示正在拾取?