
我有一个具有类似配置的 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 文档中描述。