【问题标题】:Name Based Virtual Hosts on Apache with 2 IP AddressApache 上具有 2 个 IP 地址的基于名称的虚拟主机
【发布时间】:2015-12-07 07:22:10
【问题描述】:

我有 2 个 IP 地址。它基本上适用于 SSL,但假设我希望 example1.com 和 example3.com 在 IP 1.1.1.1 上工作,而 example2.com 在 IP 2.2.2.2 上工作。

我应该在某处遗漏一些东西。我在配置文件中基本上遵循了与此相关的设置 - 我确实在 Apache 文档以及许多其他来源中阅读并应用了相同的内容。

Listen 80

<VirtualHost *:80>
        ServerName example1.com
        # ...
</VirtualHost>

<VirtualHost *:80>
        ServerName example3.com
        # ...
</VirtualHost>

<VirtualHost 2.2.2.2:80>
        ServerName example2.com
        # ...
</VirtualHost>

我在 DNS 记录中将 example2.com 指向 2.2.2.2,其他指向 1.1.1.1。

我可以成功访问 example1.com 和 example3.com,但 example2.com 会转到默认服务器,即本示例的 example1.com,因为它是在配置中首先输入的。

另一个奇怪之处:为 example2.com 保持 DNS 相同,但将 vhost 配置更改为 *:80,它会打开网站,服务器 ip 报告为 1.1.1.1,因为我可以从 Web 脚本中查看发生了什么。

还有一个:即使我在配置中只保留 example2.com 域并删除其他域,它仍然不适用于 IP。前面提到过,如果我输入2.2.2.2,它就可以通过这个IP成功访问服务器了。

有人可以帮我解决这个问题,这显然是由我做错或遗漏的事情引起的。

谢谢。

【问题讨论】:

    标签: apache dns httpd.conf vhosts virtual-hosts


    【解决方案1】:

    我在服务器中启用了 DHCP。我将其更改为静态网络,一切正常。

    我根据需要编辑了 /etc/sysconfig/network-scripts/ifcfg-eth0 以添加静态 IP 并为我的服务器禁用自动配置网络选项。这是一个 Linode 服务器,此处解释了所需的设置 - 以防其他人需要:https://www.linode.com/docs/networking/linux-static-ip-configuration

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-23
      • 2018-07-25
      • 2016-03-24
      • 1970-01-01
      • 2013-12-13
      • 1970-01-01
      相关资源
      最近更新 更多