【问题标题】:Subdomain under Apache to proxy into TomcatApache下的子域代理到Tomcat
【发布时间】:2011-02-06 05:06:43
【问题描述】:

在使用 AJP 代理到 Tomcat 时,我无法为我的 Windows 计算机创建子域。这是我的 httpd.conf 文件中的内容:

<VirtualHost *:80>  
    ServerName subdomain.localhost  
    ProxyRequests Off  
    <Proxy *>  
        Order deny,allow  
        Allow from all  
    </Proxy>  
    ProxyPass / ajp://localhost:8009/folder/  
    ProxyPassReverse / ajp://localhost:8009/folder/  
    <Location />  
        Order allow,deny  
        Allow from all  
    </Location>  
</VirtualHost>

子域已添加到`c:\windows\system32\drivers\etc\hosts

127.0.0.1 本地主机
127.0.0.1 subdomain.localhost

当我去http://localhost 时,我直接去代理。当我去http://subdomain.localhost 时,我也会去代理。我该怎么做才能让子域只去代理,而常规去Apache?

【问题讨论】:

    标签: apache tomcat proxy subdomain ajp


    【解决方案1】:

    您需要使用 localhost 作为 ServerName 声明第二个 VirtualHost。

    【讨论】:

    • 每天学习新东西 :)
    • 你能发一个例子来说明第二个 VirtualHost 应该是什么样子吗?
    • 与问题中的相同,但使用 ServerName localhost 而不是 ServerName subdomain.localhost
    【解决方案2】:

    这可能应该移至 superuser.com,但要尝试一件事:

    &lt;VirtualHost *:80> 通知它接受端口 80 上的所有传入连接以使用这些设置。我会尝试将其更改为:

    <VirtualHost subdomain.localhost:80>
    

    并查看是否仅在使用子域时应用这些设置。

    您在子域中放置的 ServerName 标记并没有告诉它要听谁。官方文档指出:

    ServerName 指令设置 服务器使用的主机名和端口 来识别自己。这用于 创建重定向 URL。为了 例如,如果机器的名称 托管 Web 服务器是 simple.example.com,但机器 还有 DNS 别名 www.example.com 你希望网络服务器是这样的 确定,以下指令 应该使用:

    您可以阅读有关这些配置的更多信息here。

    【讨论】:

    • 我之前尝试过 subdomin.localhost ,它仍然从 localhost 直接进入 tomcat。感谢您的回复和指向 superuser.com 的链接,从今天开始,我将尝试在各个站点之间区分我的问题。
    猜你喜欢
    • 1970-01-01
    • 2015-03-28
    • 2012-04-29
    • 2016-06-16
    • 2020-12-29
    • 2018-08-26
    • 2012-06-11
    • 2012-04-09
    • 1970-01-01
    相关资源
    最近更新 更多