Apache https 重定向仅重定向端口

Apache https 重定向仅重定向端口

我一直在思考这个问题,因为某种原因,Apache 拒绝正确实现 https 重定向。我尝试过使用永久重定向以及 mod 重写和介于两者之间的所有方法。目前我只有一个虚拟主机文件,因为我试图删除任何不必要的卷积。我检查了 Apache 配置的状态,它显示正在使用有问题的虚拟主机文件。

我正在尝试续订 lets encrypt 证书,但无法续订,因为它通过 http 访问网站。每当我尝试通过 http 访问我的网站时,它都会出现 400 错误,指出它无法使用端口 443 提供 http 网站。因此,基本上 Apache 会将 http 端口 80 流量重定向到端口 443,但无论我如何尝试,它都不会将 http 重定向到 https。

    <IfModule mod_ssl.c>
<VirtualHost *:80>
    ServerName mysite.net
    RewriteEngine On
    RewriteCond %{HTTPS} !=on
    RewriteRule ^(/(.*))?$ https://%{HTTP_HOST}/$1 [R=301,L]
</VirtualHost>
<VirtualHost *:443
    ServerName mysite.net
    RewriteEngine On
    RewriteCond %{HTTPS} !=on
    RewriteRule ^(/(.*))?$ https://%{HTTP_HOST}/$1 [R=301,L]
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/
    SSLEngine on
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    SSLCertificateFile /etc/letsencrypt/live/mysite.net/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/mysite.net/privkey.pem
    Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>

答案1

我明白了,我真是个大傻瓜 XD。在我的路由器中,服务器的端口 80 被转发到端口 443。

相关内容