我的 Apache 配置似乎有点奇怪。我有三个应用程序在 3 个具有相同 IP 的域上运行。现在我有 3 个 conf 文件,如下所示:
<VirtualHost *:80>
ServerName app.domain.com:80
# Redirect any non HTTPS requests to the HTTPS server
RewriteEngine On
RewriteCond %{HTTP_HOST} ^.*$ [NC]
RewriteRule ^(.*)$ https://app.domain.com$1 [R=301,L]
</VirtualHost>
<VirtualHost *:443>
ServerName app.domain.com:443
SSLCertificateFile [...]/fullchain.pem
SSLCertificateKeyFile [...]/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
# ... application
</VirtualHost>
这有效(有点,在为 nextcloud 运行 collabora 时会出现问题,但可能是 apache 之外的问题)。
但现在当我直接访问 IP 地址时,我得到了一个我不想要的应用程序。所以我尝试应用提到的解决方案这里,但随后所有对任何域的访问都会被阻止。
我在这里做错了什么?
答案1
您是否已为指向您的主机的所有 3 个站点正确设置 DNS 名称。
直到您正确设置了正确的 DNS 后它才会起作用。