【发布时间】:2017-03-17 19:51:17
【问题描述】:
我对这些东西一无所知,所以请在您的回复中回复 ELI5。
按照提供商 Dreamhost 的说明,我安装了 SSL 证书,然后将这些行添加到我的 .htaccess 文件中,以强制将 HTTP 请求重写为 HTTPS 请求。
# Redirect http requests to https
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
一切似乎都正常工作,即:每次我尝试使用 HTTP 访问该域下的页面时,它都会被重写为 HTTPS,并且地址栏中会显示“安全”图标。
我的问题是,我还需要启用 HSTS 吗?阅读它,它似乎与之前对 .htaccess 文件的更改完全相同。这是an excerpt from A2 Hosting(不是我的提供者):
启用 HSTS
为网站启用 HSTS 后,网络浏览器会自动更改任何 不安全请求 (http://) 到安全请求 (https://)。所有你 启用 HSTS 需要做的是在您网站的 .htaccess 中添加一个标题 文件。 Web 浏览器识别此标头,然后处理 休息,无需您进一步干预。
他们建议将此添加到 .htaccess:
Header set Strict-Transport-Security "max-age=31536000" env=HTTPS
Another tutorial,这一次特定于 Dreamhost,表示要启用 HSTS 并在 .htaccess 文件中强制使用 HTTPS,但并没有真正说明原因。此页面提出了一些稍微不同的建议:
Header set Strict-Transport-Security "max-age=31415926; includeSubDomains; preload" env=HTTPS
我需要“https 重写”代码 sn-p 和 HSTS 吗?还是只有“https 重写”代码 sn-p 就足够了?我是否需要 HSTS 代码,如果需要,我的帖子中的两行 HSTS 代码有什么区别?
【问题讨论】: