我有 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
。