带有 mod24_ssl 的 Apache httpd24 不会从 http 重定向到 https
Posted
技术标签:
【中文标题】带有 mod24_ssl 的 Apache httpd24 不会从 http 重定向到 https【英文标题】:Apache httpd24 with mod24_ssl is not redirecting from http to https 【发布时间】:2016-12-08 05:38:24 【问题描述】:我有我的 Amazon linux 服务器,并且已经安装了 httpd24 和 mod24_ssl。
我已经在 /etc/httpd/conf.d/ssl.conf
文件中设置了带有 https 重定向说明的 ssl 证书:
<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
here。我可能错过了什么。?我遇到了很多文章,但都没有解决我的问题。
【问题讨论】:
【参考方案1】:您缺少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>
【讨论】:
是的。我犯的愚蠢错误。非常感谢。我确实改变了,但现在它在加载页面时提供了太多重定向。以上是关于带有 mod24_ssl 的 Apache httpd24 不会从 http 重定向到 https的主要内容,如果未能解决你的问题,请参考以下文章
mod_proxy,mod_ssl,带有 SSLProxyEngine 到内部 F5...内部 F5 向 apache 发送 TCP RESET
带有 mod-proxy 和 SSL 的 Apache VirtualHost