带有mod24_ssl的Apache httpd24不会从http重定向到https

问题描述:

我有我的亚马逊Linux服务器,并且我已经安装了httpd24和mod24_ssl。 我在/etc/httpd/conf.d/ssl.conf文件已经设置SSL证书以https重定向说明:正常带有mod24_ssl的Apache httpd24不会从http重定向到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。我可能错过了什么?我遇到很多文章,但那些没有解决我的问题。

您错过了RewriteEngine on请将其添加到配置文件并重新启动Apache。检查下面编辑。

<VirtualHost *:80> 
ServerName example.com:80 
RewriteEngine on 
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> 
+0

是的。我的愚蠢错误。非常感谢。我确实改变了,但现在它在加载页面时给了太多重定向。 –