使用 mod24_ssl 在 Apache httpd24 中从 http 重定向到 https 不起作用

使用 mod24_ssl 在 Apache httpd24 中从 http 重定向到 https 不起作用

我有 Amazon Linux 服务器,并且安装了 httpd24 和 mod24_ssl。我已在/etc/httpd/conf.d/ssl.conf文件中设置了 SSL 证书,并附带 https 重定向说明:

<VirtualHost *:80>
ServerName example.com:80
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
</VirtualHost>

<VirtualHost _default_:443>
ServerName example.com:443
SSLEngine on
SSLProtocol -All +TLSv1 +TLSv1.1 +TLSv1.2
SSLProxyProtocol all -SSLv3
SSLHonorCipherOrder on
SSLCertificateFile /etc/example.com/cert.pem
SSLCertificateKeyFile /etc/example.com/privkey.pem
SSLCertificateChainFile /etc/example.com/chain.pem
</VirtualHost>

httpd启动正常,没有任何问题。但重定向不起作用。我/etc/httpd/conf/httpd.conf这里有其他文件。我可能错过了什么?我看过很多文章,但那些都没有解决我的问题。

答案1

RewriteCond %{HTTPS} off行是多余的,根据定义,任何到达该虚拟主机的流量都将是 HTTP。您可能还需要一个RewriteEngine on指令来启用mod_rewrite

相关内容