当使用mod_proxy时,是否有可能不发送一个301永久移动响应给客户端? 我希望客户尽可能不透明地处理反向代理。 我的虚拟主机设置:相关代码片段: ProxyPreserveHost On ProxyPass /GTM http://192.168.1.27/GTM ProxyPassReverse /GTM http://192.168.1.27/GTM wget localhost/GTM : –2011-09-27 21:54:22– localhost/GTM Resolving localhost… ::1, 127.0.0.1 Connecting to localhost|::1|:80… failed: Connection refused. Connecting to localhost|127.0.0.1|:80… connected. HTTP request sent, awaiting response… 301 Moved Permanently Location: localhost/GTM/ [following] –2011-09-27 21:54:22– localhost/GTM/ Reusing existing connection to localhost:80. HTTP request sent, awaiting response… […]
我们使用4个后端JBoss的Apache mod_proxy_loadbalancer,这里是后端服务器的configuration: <Proxy balancer://www> Allow from all BalancerMember x.11:8080/APP route=node11 timeout=600 ttl=7200 BalancerMember x.12:8080/APP route=node12 timeout=600 ttl=7200 BalancerMember x.12:8081/APP route=node122 timeout=600 ttl=7200 BalancerMember x.14:8080/APP route=node14 timeout=600 ttl=7200 ProxySet lbmethod=byrequests stickysession=JSESSIONID|jsessionid nofailover=On </Proxy> ProxyPass /APP balancer://www/ stickysession=JSESSIONID|jsessionid nofailover=On ProxyPassReverse /APP balancer://www/ 我们的问题是请求不平衡,其中大部分去“node12”,这里是平衡器pipe理器的状态: LoadBalancer Status for balancer://www StickySession Timeout FailoverAttempts Method JSESSIONID|jsessionid 0 3 byrequests Worker URL […]
所以我现在有一个glassfish 3.1服务器和一个apache 2.2服务器运行在一个盒子上。 然而,我正试图找出路由一些stream量通过Apache服务器到glassfish服务器,以隐藏非标准端口8080,8181。 我也有在apache服务器上的静态内容。 我已经做了一些search,并阅读了几个例子,谈论这样做,但是我真的是新的阿帕奇,我不理解虚拟主机和mod_proxy的东西。 任何帮助理解这些,以及如何完成我想要做的将是伟大的。 编辑 每个Shane的例子,我尝试了以下。 <VirtualHost *:80> ServerName forum.mydomain.com # any logging config, etc, that you need ProxyPass / http://127.0.0.1:8080/forum/ ProxyPassReverse / http://127.0.0.1:8080/forum/ </VirtualHost> 但是现在我所有的stream量都会去http://127.0.0.1:8080/forum/,而且由于某些原因,所有的图片都丢失了。 所以让我更好地解释我的情况。 我有一个提供静态页面的Apache服务器,这些页面是从mydomain.com访问。 比我有一个论坛,作为一个Web应用程序在我的glassfish服务器上运行,他们在mydomain.com:8080/forum/服务,我想要做的是有forum.mydomain.com去mydomain.com:8080/论坛/但隐藏端口8080从用户。 让我知道你的想法。 编辑第2部分 所以,由于我的最后一次尝试不起作用,我决定尝试Shane的例子的另一个偏差,所以我尝试了以下。 <VirtualHost *:80> ServerName mydomain.com ServerAlias subdomain.mydomain.com DocumentRoot "/usr/local/apache/htdocs" <Location /forum> ProxyPass http://127.0.0.1:8080/forum/ ProxyPassReverse http://127.0.0.1:8080/forum/ </Location> </VirtualHost> 但是,这也没有工作,现在如果我打mydomain.com它需要我mydomain.com//forums/list.page,但它是一个404错误(我认为这很奇怪,因为它显然有玻璃鱼服务器,因为它重新路由到list.page)。 但是,如果我去subdomain.mydomain.com它把我带到我正常的静态网页。 我觉得我必须要接近,但我不知道什么是错的。 在这个例子中,我希望mydomain.com和subdomain.mydomain.com会把我带到我的静态页面,而mydomain.com/forum/会把我带到我在glassfish上的论坛应用程序。 […]
我有一个jboss和Apache设置托pipe我的.war文件。 我已经启用会话粘性转发请求从Apache到JBoss。 假设我有2个apache和2个jboss实例。 以下设置是否正确? 当前会话粘性不起作用,每次请求都附加一个新的JSESSSION ID。 <Proxy balancer://cluster> Order deny,allow Allow from all BalancerMember ajp://1.1.1.1:8010/testing keepalive=On loadfactor=1 ping=10 ttl=600 BalancerMember ajp://2.2.2.2:8010/testing keepalive=On loadfactor=1 ping=10 ttl=600 </Proxy> ProxyPass /testing balancer://cluster timeout=60 stickysession=JSESSIONID nofailover=On 我是否需要将路由variables添加到平衡器成员configuration中,并且是否需要在jboss中启用useJK标志?
我使用mod_vhost_alias,因为我很容易添加新的虚拟主机(我只需要创build一个目录)。 /etc/apache2/mods-available/vhost_alias.conf UseCanonicalName Off VirtualDocumentRoot /var/www/%0/htdocs /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> </VirtualHost> 不过,我需要configuration一个自定义虚拟主机使用mod_proxy ,所以我创build了: /etc/apache2/sites-available/mysite <VirtualHost *> ServerName mysite.example.com ProxyPreserveHost On ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass […]
目前,我正在使用以下指令将所有http url转向httpsurl, RedirectMatch permanent ^(.*)$ https://someserver.com$1 现在我坚持一个场景,我必须redirect除了像http://someserver.com/test或http://someserver.com/test/users或基本上任何有/testing后跟任何东西它。 此外,我想redirect这些具有“/testing..”的url是一个正常的HTTP显示访问被拒绝的页面(一个HTML页面)。 为了增加复杂性,所有通过“/”的请求都通过ajp使用<Location />和ProxyPass指令路由到tomcat 我不得不在这种情况下只使用RedirectMatch,因为如果我必须使用重写,我必须改变很多其他的configuration。 我们可以有多个RedirectMatch? 如果是这样,我怎么能configuration正则expression式为上面的情况…
我的工作中有一个Jira和一个Confluence系统。 两者都在同一台服务器上运行。 访问Jira和Confluence的实际URL是: http://foauslxapp05:8080/jira http;//foauslxapp05:8090/confluence 或者使用完整的主机名称: http://foauslxapp05.foservices.corp:8080/jira http://foauslxapp05.foservices.corp:8090/confluence 为了简化一切,我设置了一个代理规则来允许用户这样做: http://foauslxapp05/jira <– Accessing Jira http://foauslxapp06/wiki <– Accessing Confluence 我们的技术人员为foauslxapp05创build了一对服务器别名,以便: http://jira/jira <– Accessing Jira http://jira.foservices.corp/jira <– Accessing Jira http://wiki/wiki <– Accessing Confluence http://wiki.foservices.corp/wiki <– Accessing Confluence 我真正想要做的就是走下一步: http://jira <– Accessing Jira http://jira.foservices.corp <– Accessing Jira http://wiki <– Accessing Confluence http://wiki.foservices.copr <– Accessing Confluence 问题当然是,DNS名称jira和wiki只是foauslxapp05的 DNS别名。 我需要检测用户input的URL(即用户请求的主机),然后基于该URL,我需要将用户redirect到正确的应用程序。 我甚至不太确定我应该看什么:这个VirtualHost? […]
我使用Apache的mod_proxy模块在我的EC2实例上configuration了一个HTTP代理服务器。 我现在希望代理只接受来自其他EC2实例的请求,我该如何实现? 这是我的代理configuration: ProxyRequests On <Proxy *> Order deny,allow Deny from all Allow from ??? </Proxy> 我知道一个解决scheme可能是必须代理监听另一个端口,并在AWS上configuration一个安全组,以便只有我的EC2实例可以访问该端口,这是要走的路吗? 谢谢。
我有一个情况,主要网站是用ColdFusion编写的遗留应用程序,我最近从MX 6.1迁移到9.0.1。 本网站的另一部分是在WordPress的PHP5的博客/论坛。 现在,我添加了一个付费会员function,并使用Ruby&Sinatra与Chargify V2 API集成。 好玩吗? 无论如何,现在我已经开始使用mod-proxy来将主CF站点上的某个子目录的请求发送到Sinatra应用程序。 这在HTTP上工作正常; 端口80到端口9292.但是当我尝试使用HTTPS会发生什么; 端口443到端口9292? 我目前没有这个主持人的证书,因为过去没有必要,所以我不知道如何去做实验。 我只是想确保浏览器不会抱怨非正统的安排。 我实际上并不担心表单提交是安全的,因为应用程序正在使用SSL进行encryption。 我想使用SSL的唯一原因是用户的信心。 因此,浏览器没有任何抱怨可能会降低用户的信心(因此也就是转换),这一点非常重要。
我有一个Apache Web服务器与ProxyPassconfiguration来链接一个Tomcat服务器: ProxyPass /server http://localhost:8080/server ProxyPassReverse /server http://localhost:8080/server 当Tomcatclosures时,我明显得到一个HTTP 305错误。 但是当Tomcat备份一些Apache的时候仍然发送503没有ping的Tomcat。 我认为这是由于该代理caching,因为如果我等待或重新启动Apache Everythink再次工作。 如何禁用或减less这个caching时间? 谢谢