监听同一端口的不同主机有不同的错误文档

监听同一端口的不同主机有不同的错误文档

我有一个具有类似配置的 apache2

<VirtualHost IP:8080>
        ServerName IP:8080
        DocumentRoot /var/www/x1
        ErrorDocument 400 https://IP:8080
        SSLEngine on
        ....
</VirtualHost>
<VirtualHost example.com:8080>
        ServerName example.com:8080
        DocumentRoot /var/www/example.com
        ErrorDocument 400 https://example.com:8080
        SSLEngine on
        ....
</VirtualHost>

问题是当我访问 http:/example.com:8080 时,错误文档显示重定向是 IP 之一。可能是什么问题?

我曾尝试将其放入 Directory 指令中,但也没有用。

答案1

好的。在您更准确地解释了您的问题之后,我会假设您想要在非标准端口(这里是 8443)上提供 HTTPS 内容:

Listen IP:8080
Listen IP:8443 https

Listen example.com:8080
Listen example.com:8443 https

<VirtualHost IP:8080>
        ServerName IP
        Redirect "/" "https://IP:8443/"
</VirtualHost>
<VirtualHost IP:8443>
        ServerName IP
        DocumentRoot /var/www/x1
        SSLEngine on
        ....
</VirtualHost>

<VirtualHost example.com:8080>
        ServerName example.com
        Redirect "/" "https://example.com:8443/"
</VirtualHost>
<VirtualHost example.com:8443>
        ServerName example.com
        DocumentRoot /var/www/example.com
        SSLEngine on
        ....
</VirtualHost>

这是基于Apache 文档中的示例。由于在此示例中,我没有使用 HTTPS 的标准端口,因此我必须使用Listen指令也在 Apache 文档中描述。

相关内容