【问题标题】:Httpd VirtualHosts with two IP具有两个 IP 的 Httpd VirtualHosts
【发布时间】:2014-12-12 17:05:34
【问题描述】:

必须从各自的 IP 访问两个 webapp(每个都专用于一个网络接口):

  1. Webapp A 正在 httpd 服务器上运行,带有 php 模块,IP 142.xxx.xxx.xxx
  2. Webapp B 在 tomcat7 服务器上运行,IP 143.xxx.xxx.xxx

httpd.conf

Listen 80
Listen 443

NameVirtualHost 142.xxx.xxx.xxx:80  
NameVirtualHost 143.xxx.xxx.xxx:80

# Webapp A
<VirtualHost 142.xxx.xxx.xxx:80>
    ServerName ASite
    DocumentRoot /mnt/data/www/html
</VirtualHost>

# Webapp B
<VirtualHost 143.xxx.xxx.xxx:80>
    ServerName Bsite
    ProxyPreserveHost On
    ProxyRequests On
    ProxyVia On
    ProxyPass / http://www.siteb.com:8081/
    ProxyPassReverse / http://www.siteb.com:8081/
    #<Proxy *>
    #   Order deny,allow
    #   Deny from all
    #   Allow from 54.171.140.42
    #</Proxy>   
</VirtualHost>

问题:无论输入什么 ip/dns 来源,端点始终是站点 A,除非 Webapp B 配置了 &lt;VirtualHost *:80&gt;,它将所有请求重定向(代理)到 tomcat webapp B。如何相应地映射重定向?

【问题讨论】:

    标签: amazon-ec2 tomcat7 virtualhost httpd.conf


    【解决方案1】:

    该错误与 VirtualHost 指令中的 IP 分配有关(httpd 解析为服务器名称):

    NameVirtualHost *:80
    
    # Webapp A
    <VirtualHost *:80>
        ServerName ASite
        DocumentRoot /mnt/data/www/html
    </VirtualHost>
    
    # Webapp B
    <VirtualHost *:80>
        ServerName Bsite
        ProxyPreserveHost On
        ProxyRequests On
        ProxyVia On
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-11
      • 2017-01-20
      • 2011-11-02
      • 1970-01-01
      • 2014-01-02
      • 2021-06-21
      • 1970-01-01
      • 2020-05-03
      相关资源
      最近更新 更多