我正在运行 Apache 2.4.29。
如果我像这样设置 000-default.conf 并启用它:
<VirtualHost *:80>
ServerName default
Redirect 404 /
ErrorDocument 404 "Domain not configured on this server!!!!!!!!!"
</VirtualHost>
然后,我的目录中的所有其他虚拟主机/etc/apache2/sites-available
(我使用 a2ensite 启用的)也返回 404。一切都是 404。
如果我删除 000-default-conf,或者我将其 a2disite,那么来自任何域的任何请求都将被 Apache 接受,并且它将由我的其他 VirtualHost 块提供服务,该文件/etc/apache2/sites-available/sub.domain.com.conf
位于如下所示的文件中
<VirtualHost :*80>
ServerName sub.domain.com
# Some other stuff
</VirtualHost>
对我的服务器 IP 发出的任何请求,无论请求标头中的 HostName 是什么,都将被处理并从该块获得回复。我希望对非 sub.domain.com 主机名发出的请求收到 404 响应。
怎么做?
答案1
这显然是 Docker 不遵循从 sites-enabled 到 sites-available 的符号链接的问题,因为这两个目录位于不同的卷上。我认为这就是问题所在。我将两个目录设置为指向同一个卷,现在似乎可以正常工作了。我很累,所以我不确定,但我认为这解决了问题。这里有一个想法,即对两个目录使用同一个卷:https://stackoverflow.com/questions/31881904/docker-follow-symlink-outside-context/56492815#56492815 好吧,显然在上面的链接中,他没有这样做,但这激励了我这样做