【问题标题】:Virtual Host on subdomain only on TomCat httpd.config子域上的虚拟主机仅在 TomCat httpd.config 上
【发布时间】:2017-01-20 16:08:02
【问题描述】:

我有一个虚拟主机

<VirtualHost *:80> 
  ProxyPreserveHost On
  ProxyRequests Off
  ServerName gms.example.co
  ProxyPass / http://localhost:9081/
  ProxyPassReverse / http://localhost:9081/
</VirtualHost> 

获取所有 http 请求,即 gms.example.co 和 example.co 都被转发到 localhost:9081

如何只将 gms.example.co 转发到 localhost:9081 并将 example.co 转发到 localhost ?

编辑

<VirtualHost *:80> 
  ServerName example.co
  DocumentRoot C:/workspace/html/
</VirtualHost>

<VirtualHost *:80> 
  ProxyPreserveHost On
  ProxyRequests Off
  ServerName gms.example.co
 ProxyPass / http://localhost:9081/
 ProxyPassReverse / http://localhost:9081/
</VirtualHost> 

在 httpd 代理的末尾。

第二个有效,第一个无效。

内部服务器错误

我也在 localhost 上得到这个,所以我认为它们是相关的

日志中有这个错误

[Tue Sep 13 19:38:38.081314 2016] [core:alert] [pid 24988:tid 1112] [client 127.0.0.1:60053] C:/workspace/html/.htaccess: Unrecognized header format %

【问题讨论】:

    标签: apache tomcat httpd.conf


    【解决方案1】:

    创建另一个 VHost 配置,将 ServerName 指令设置为 example.cowww.example.co。在您服务器的根配置文件中,Include 也是新创建的 VHost 配置。

    <VirtualHost *:80> 
      ServerName example.co
      ServerAlias www.example.co
      DocumentRoot /path/to/your/localhost
    </VirtualHost>
    

    将以上内容另存为000-root.conf000 是为了获得更高的优先级)。

    【讨论】:

    • 目前我刚刚在 httpd.conf 中得到了这个,这只有在它们是单独的文件时才有效吗?
    • @user5839 将上述规则放在您的虚拟主机配置之前。
    • 接近我在 example.co 上遇到了内部服务器错误,但 gms.example.co 正在正常工作。我会继续玩。看起来是正确的答案。
    • 它很接近但还没有 - 还有什么建议吗?
    • ht 访问是问题 - 这解决了它
    猜你喜欢
    • 2020-01-23
    • 2013-01-30
    • 2012-12-24
    • 2013-06-08
    • 2013-02-27
    • 1970-01-01
    • 1970-01-01
    • 2016-09-02
    • 2020-11-20
    相关资源
    最近更新 更多