所以我现在有一个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上的论坛应用程序。
编辑第3部分最后?
所以我终于得到了我想要的路由,但由于某种原因论坛缺less所有的图像。 我结束了以下的工作。
NameVirtualHost *:80 <VirtualHost *:80> ServerName www.mydomain.com ServerAlias subdomain.mydomain.com mydomain.com DocumentRoot "/usr/local/apache/htdocs" </VirtualHost> <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>
现在我只需要弄清楚图像问题。 。 。
基本上, ProxyPass指令可以向来自不同HTTP(或AJP)服务器的内容的请求提供服务。
这里有一个可能有助于澄清的注释示例configuration:
# We'll call this your existing vhost: <VirtualHost *:80> ServerName example.com ServerAlias www.example.com DocumentRoot /path/to/www/ # other existing config # Let's say you want to serve http://example.com/glassfishapp from the 8080 listener: <Location /glassfishapp> ProxyPass http://127.0.0.1:8080 ProxyPassReverse http://127.0.0.1:8080 </Location> </VirtualHost> # Now, let's say there's a whole domain you want to serve from the 8181 listener: <VirtualHost *:80> ServerName glass.example.com # any logging config, etc, that you need ProxyPass / http://127.0.0.1:8181/ ProxyPassReverse / http://127.0.0.1:8181/ </VirtualHost>