【问题标题】:Redirect to https / HSTS script only works occasionally重定向到 https / HSTS 脚本仅偶尔有效
【发布时间】:2016-12-18 18:22:05
【问题描述】:

嗯,我认为标题说明了一切……

在我的 .htaccess 文件中,我复制了这段代码(来自互联网):

Header set Strict-Transport-Security "max-age=10886400"

我不确定它是否符合我的想法。它应该只是重定向到 https ......所以如果我加载 exampledomain.com 它应该成为https://exampledomain.com 而不是http://exampledomain.com

问题是:它有效……有时有时无效……所以我问自己:这有意义吗?

如果有人能向我解释这个功能……或者告诉我我是否做错了什么,那会很好吗?

谢谢!

【问题讨论】:

    标签: apache .htaccess redirect https


    【解决方案1】:

    HTTP 上的 HSTS 标头被忽略。

    您首先需要将访问者重定向到 HTTPS,一旦使用 HTTPS 访问您的网站,它应该返回 Strict-Transport-Security 标头。浏览器将记录此信息,因此以后尝试使用 HTTP 加载站点时将自动使用 HTTPS。

    您可以在 .htaccess 中使用此重写规则从 http 重定向到 https

    RewriteCond %{HTTPS} off
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    

    【讨论】:

    • 所以,你的意思是,我应该先用 mod_rewrite 重定向?像这样(?): RewriteCond %{HTTPS} !=on RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
    • 您可以访问 apache .conf 文件吗?
    • 我已经为 .htaccess 添加了重定向规则,但是如果你可以编辑 .conf 文件,你应该使用它们而不是 .htaccess。
    • 感谢您的回答。不,在这种情况下我无权访问。我的重定向脚本好吗?我的意思是它安全吗?
    • 你的重写规则没问题(可能有点过于复杂,所以我建议了一个替代规则)
    猜你喜欢
    • 2017-11-22
    • 2017-03-07
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-02
    • 2013-03-07
    相关资源
    最近更新 更多