【发布时间】: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