我正在使用一个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.
您认为这对此有什么好的解决方案?(我希望我的问题很明确,因为我不是英语母语者,你可以看到)
环境:Linux Debian 5 Lenny,Apache Server 2.2.9-10 + lenny8
由于我是apache服务器的新手,任何评论或建议都会非常感激,即使你认为是显而易见的:-).
为了确保我明白你的意思:你想要 -
客户端向http://mydomain1.com
(端口80)发出HTTP请求- 然后转到服务器上的端口8080;
客户端向http://mydomain2.com
(端口80)发出HTTP请求- 然后转到服务器上的端口8081.
唯一合理的方法(我知道)你可以在Apache中实现这一点,就是使用所谓的反向代理,在这里解释:http://httpd.apache.org/docs/current/mod/mod_proxy.html
简而言之:定义两个基于端口80监听的基于名称的虚拟主机,每个虚拟主机反向代理对"隐藏"服务器的请求.这两个定义几乎完全相同....这里是其中一个的草图,你应该能够得出另一个.
ServerName mydomain1.com ServerAlias www.domain1.com ... *other aliases as you wish* ... ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/
上面的定义导致所有HTTP请求进入端口80,mydomain1.com
在其"服务器路径"标题中具有" "(当有人键入包含服务器名称的URL时的标准行为;不要担心它)或任何提到的别名,反向代理到"localhost:8080".
试试这个,让我们知道它是怎么回事.祝好运!