2

在使用 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 子域.本地主机

当我去的时候,http://localhost我直接去代理。当我去的时候,我也会去http://subdomain.localhost代理。我该怎么做才能使子域仅转到代理而常规转到 Apache?

4

2 回答 2

1

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

于 2010-04-10T20:22:17.810 回答
0

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

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

<VirtualHost subdomain.localhost:80>

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

您与子域一起放置的 ServerName 标记不会告诉它要听谁。官方文档指出:

ServerName 指令设置服务器用来标识自己的主机名和端口。这在创建重定向 URL 时使用。例如,如果托管 Web 服务器的机器的名称是 simple.example.com,但该机器也有 DNS 别名 www.example.com,并且您希望 Web 服务器被这样标识,则应使用以下指令:

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

于 2010-04-09T15:47:25.493 回答