带有 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.confhere。我可能错过了什么。?我遇到了很多文章,但都没有解决我的问题。

【问题讨论】:

【参考方案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的主要内容,如果未能解决你的问题,请参考以下文章

apache-Pig map-reduce group by error

为啥在 /groups/ 的 NoReverseMatch 中显示带有符号 '<' 的 '<groups'

b-list-group-item 中的 v-bind 在带有 bootstrap-vue 的 vue CLI-app 中不起作用

MongoDB $match $group 查询慢

在带有函数的 MySQL GROUP_CONCAT 中排序

在 MongoDB 的聚合管道中获取 $group 之后的输入文档中的字段