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

44u64gxh  于 2023-04-21  发布在  Apache
关注(0)|答案(1)|浏览(99)

我正在使用一个web开发框架,它在apache服务器端口上发布应用程序:8080,8081,8082等。
例如,MyApp 1运行在localhost:8080中,MyApp 2运行在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服务器的任何意见或建议将非常感谢,即使你认为是显而易见的:-)。

r7xajy2e

r7xajy2e1#

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

  • 客户端向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>

上面的定义会导致所有从端口80进入的HTTP请求,在它们的“服务器路径”头中有mydomain1.com(当有人键入包含服务器名称的URL时,这是标准行为;不要担心)或任何提到的别名,被反向代理到localhost:8080
试试这个,让我们知道它是如何进行的。祝你好运!

相关问题