【问题标题】:Multiples domains pointing to differents ports in apache server指向apache服务器中不同端口的多个域
【发布时间】:2010-10-10 03:17:59
【问题描述】:

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

例如 MyApp1 运行在 localhost:8080,MyApp2 运行在 localhost:8081 等等。

我想要实现的是我的域指向一个 "port",它的应用程序在我的 apache Web 服务器中运行,例如www.mydomainclient1.com 应该指向 8080 端口,www.mydomainclient2.com 应该指向 8081 端口。

我所做的是进入我的域名提供商网站,然后转到 Total DNS Control 并将这些域指向我的专用服务器 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 服务器的新手,任何评论或建议都将不胜感激,即使您认为这是显而易见的 :-)。

【问题讨论】:

    标签: apache port


    【解决方案1】:

    为了确保我理解你的意思:你想要 -

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

    您可以在 Apache 中实现此目的的唯一合理方法(据我所知)是使用所谓的反向代理,在此解释: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”。

    试试这个,让我们知道结果如何。祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-06
      • 1970-01-01
      • 2017-06-18
      • 1970-01-01
      • 2011-11-22
      • 2016-10-06
      • 2017-05-19
      • 1970-01-01
      相关资源
      最近更新 更多