布莱恩F爱
向一位来自Portlandyobet英雄联盟的谷歌开发专家学习Angular、Web技术和Node.js。
广告 ·ultimatecourses.com
用终极课程学习Angular的正确方法”></a>
          </div>
          <article class=

启用严格的运输安全(HSTS)

我将继续撰写一系列文章,重点介绍如何迁移网站以支持HTTPS Everywhere。HTTPS Everywhere的目标是使用最新的安全和最佳实践确保整个web的安全。然而,我们还必须注意使用HTTPS可能带来的性能影响。

我们在HTTPS上改进性能的第一步是启用保持活动的连接头。我们现在要采取的下一步是启用严格传输安全(HSTS)头。HSTS头指示用户的浏览器仅连接当前域,以及可选的所有子域,使用安全连接。

在这篇文章中,我将涵盖:

  • 为什么使用hst ?
  • 在Apache和IIS中实现
  • 测试以确保它能工作

然而,在我们开始之前,让我快速指出这一点HSTS头被主流浏览器广泛接受Internet Explorer 11以下版本除外微软已经宣布ie12将支持HSTS。

为什么?

这个问题的答案是:性能。正如我们刚才了解到的,HSTS设置指示浏览器仅通过HTTTPS连接,直到过期。在大多数情况下,您应该设置信息只要你觉得舒服就可以了。通过使用HSTS,我们避免了任何不必要的重定向到我们网站的安全HTTPS地址,以及任何其他资产或资源交付我们的服务器。

例如,如果您查看下面的屏幕截图,您将看到从HTTP重定向到HTTPS的过程。此重定向是由于我们的服务器响应原始HTTP请求,使用HTTPS将301永久重定向到相同的资源。

301重定向到HTTPS”></p>
            <p>这是很好的。我们不安全的网站正在重定向到我们新的安全网站。但是,在页面加载期间,这也会花费我们一些时间。在这种情况下,确实是这样<strong>77毫秒</strong>。时间似乎不多了,但我们可以<strong>很容易把这个</strong>。</p>
            <p>我们可以使用服务器端应用程序代码或web服务器设置这个头。在本文中,我将展示如何轻松地将这个头添加到Apache或IIS web服务器中。</p>
            <h2>Apache</h2>
            <p>如果您一直在跟随关于HTTPS Everywhere的系列文章,那么您已经启用了<strong>mod_headers</strong>在Apache中启用<code>维生</code>连接头。</p>
            <p>但是,如果您只是在阅读本文,那么您可能需要首先检查mod_heeaders扩展是否启用了。</p>
            <div class=

美元cd/etc/apache2/美元sudo纳米httpd . conf

属性加载的行取消注释mod_headers.so扩展。

加载mod_headers扩展”></p>
            <p>然后,可以将以下代码添加到<strong>. htaccess</strong>文件在我们的webroot。</p>
            <div class=

<IfModulemod_headers.c>设置Strict-Transport-Security:信息= 10886400IfModule>

最后,我们希望测试配置更改并重新启动web服务器。

美元sudoapachectl - t $sudoapachectl restart

IIS

我们将为我们的站点添加一个新的标题,但是,如果需要,您也可以在服务器或文件夹级别设置响应标题。

  • 打开IIS管理器并选择要添加保持活动连接头的站点。
  • 双击HTTP响应头
  • 点击添加……
  • 设置名称为:Strict-Transport-Security
  • 设置值为:max-age=10886400 **并单击**OK

hst在IIS”></p>
            <p>您还可以将以下代码添加到web中。配置文件,以启用IIS站点的HSTS。</p>
            <div class=

<system.webServer><httpProtocol><customHeaders><添加的名字=Strict-Transport-Security价值=信息= 31536000/>customHeaders>httpProtocol>system.webServer>

测试hst

为了测试新标题的结果,我们只需使用一个不安全的URL重新加载我们的网站。在检查网络标签内的开发者控制台在Chrome,我们可以看到浏览器正在发出一个307内部重定向。

结果是重定向到HTTP的77ms减少了0女士

hst启用”></p>
           </div>
          </article>
          <div class=

布莱恩F爱

嗨,我是布莱恩。我对TypeScript, Angular和Node.js感兴趣。我和我最好的朋友邦妮结婚了,我住在波特兰,我经常滑雪。