【问题标题】:Apache httpd24 with mod24_ssl is not redirecting from http to https带有 mod24_ssl 的 Apache httpd24 不会从 http 重定向到 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。我可能错过了什么。?我遇到了很多文章,但都没有解决我的问题。

【问题讨论】:

    标签: apache amazon-ec2 https ssl-certificate mod-ssl


    【解决方案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>
    

    【讨论】:

    • 是的。我犯的愚蠢错误。非常感谢。我确实改变了,但现在它在加载页面时提供了太多重定向。
    猜你喜欢
    • 2016-01-17
    • 2018-04-09
    • 2018-03-09
    • 2011-03-25
    • 2019-12-17
    • 2013-09-27
    • 2016-02-04
    • 2020-03-19
    • 1970-01-01
    相关资源
    最近更新 更多