我的开发环境位于基于 CentOS 的 docker 容器中。我配置了 2 个虚拟主机。默认 vhost 基本上如下所示:
<VirtualHost *:443>
ServerName my.local.domain.com
ServerAlias *.domain.com
以及特定的虚拟主机
<VirtualHost local.otherdomain.com:443>
ServerName local.otherdomain.com:443
在我的主机上 /etc/hosts 如下所示:
127.0.0.1 localhost my.local.domain.com test.local.domain.com local.otherdomain.com
容器的hosts文件默认由docker管理。
现在我面临以下问题:来自外部世界(主机系统)的每个调用都运行正常,但内部调用不起作用。例如这个:
curl --insecure -X POST https://test.local.domain.com/rest/balance
我有自己的两个虚拟主机的 ssl_access 日志,我可以看到内部请求使用了错误的 (local.otherdomain.com) 虚拟主机,而不是另一个虚拟主机。如前所述,它适用于来自主机的调用。
你知道这是怎么可能的吗?
答案1
我仍然不知道为什么它不起作用,但我将配置更改为:
NameVirtualHost *:443
<VirtualHost *:443>
ServerName my.local.domain.com
ServerAlias *.domain.com
和
<VirtualHost *:443>
ServerName local.otherdomain.com:443
现在它起作用了