在Apache服务器中指向不同端口的多个域

我正在使用一个web开发框架,在apache服务器端口发布它的应用程序:8080,8081,8082等

例如,MyApp1在localhost:8080中运行,MyApp2在localhost:8081中运行,依此类推。

我想实现的是我的域指向一个“端口” ,其应用程序运行在我的apache web服务器上,例如www.mydomainclient1.com应该指向8080端口,而www.mydomainclient2.com应该指向8081端口。

我所做的是我已经进入我的域名提供商网站,然后去总的DNS控制,并指出这些域到我的专用服务器IP。

现在,我的域指向mydedicatedserverIP,所以当我执行www.mydomainclient1.com和www.mydomainclient2.com时,它们都访问mydedicatedserverIP,默认情况下是80端口。

我试图解决的情况是:

我想有www.mydomainclient1.com直接指向mydedicatedserverIP:8080和www.mydomainclient2.com指向mydedicatedserverIP:8081。

你认为这是一个很好的解决scheme? (我希望我的问题很清楚,因为我不是以英语为母语的人)

环境:Linux Debian 5 Lenny,Apache Server 2.2.9-10 + lenny8

因为我是一个Apache服务器的新手,任何评论或build议将非常赞赏,即使你认为是明显的东西:-)。

为了确保我明白你的意思:你想 –

  • 客户端向http://mydomain1.com (端口80)发送HTTP请求 – 然后转到服务器上的端口8080;
  • 客户端向http://mydomain2.com (端口80)发送HTTP请求 – 然后转到服务器上的端口8081。

在Apache中唯一合理的方法就是使用所谓的反向代理Reverse Proxy) ,在这里解释: http : //httpd.apache.org/docs/current/mod/mod_proxy.html

简而言之:定义两个基于名称的虚拟主机侦听端口80,每个反向代理请求到“隐藏的”服务器。 这两个定义几乎是完全一样的….这里是其中一个的草图,你应该能够得出另一个的结论。

 <NameVirtualHost *:80> serverName mydomain1.com serverAlias www.domain1.com ... *other aliases as you wish* ... ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/ </NameVirtualHost> 

上面的定义会导致所有的HTTP请求进入端口80,在其“服务器路径”头中有“ mydomain1.com ”(这是标准的行为,当有人输入一个包含服务器名称的URL时,不用担心)或任何所提到的别名被反向代理为“localhost:8080”。

试试这个,让我们知道它是如何去的。 祝你好运!