Categories


Tags


服务器启用HSTS协议

HSTS(HTTP Strict Transport Security)国际互联网工程组织IETF正在推行一种新的Web安全协议,网站可以选择使用HSTS策略,来让浏览器强制使用HTTPS与网站进行通信,以减少会话劫持风险。

采用HSTS协议的网站将保证浏览器始终连接到该网站的HTTPS加密版本,不需要用户手动在URL地址栏中输入加密地址。该协议将帮助网站采用全局加密,用户看到的就是该网站的安全版本。HSTS的作用是强制客户端(如浏览器)使用HTTPS与服务器创建连接。

服务器开启HSTS的方法是,当客户端通过HTTPS发出请求时,在服务器返回的超文本传输协议响应头中包含Strict-Transport-Security字段。非加密传输时设置的HSTS字段无效。

比如,https://www.williamlong.info 的响应头含有Strict-Transport-Security: max-age=31536000; includeSubDomains。这意味着两点:在接下来的一年(即31536000秒)中,浏览器只要向www.williamlong.info或其子域名发送HTTP请求时,必须采用HTTPS来发起连接。比如,用户点击超链接或在地址栏输入 http 网址 ,浏览器应当自动将 http 转写成 https 网址。

对于nginx服务器,只要在添加Strict-Transport-Security这个HTTP头部信息即可。

add_header Strict-Transport-Security "max-age=31536000";

但有一点需要注意,Strict-Transport-Security中的max-age的时间不能小于15552000。

对于Windows server服务器,打开网站目录下的 web.config 这个文件,在相应的位置添加上针对 https 响应的 url 重写规则(黑体部分),并保存。

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

<system.webServer>

<rewrite>

<rules>

<rule name="redirect to HTTPS" enabled="true" stopProcessing="true">

<match url="(.*)" />

<conditions>

<add input="{HTTPS}" pattern="^OFF$" />

</conditions>

<action type="Redirect" url="https://{HTTP_HOST}/{R:1}"

redirectType="Permanent" />

</rule>

</rules>

<outboundRules>

<rule name="Add Strict-Transport-Security when HTTPS" enabled="true">

<match serverVariable="RESPONSE_Strict_Transport_Security"

pattern=".*" />

<conditions>

<add input="{HTTPS}" pattern="on" ignoreCase="true" />

</conditions>

<action type="Rewrite" value="max-age=31536000" />

</rule>

</outboundRules>

</rewrite>

</system.webServer>

</configuration>

开启了HSTS后,你部署SSL/TLS的服务检测得分就可能是A+以上了。这时候就可以加入HSTS Preload List。

HSTS preload list是Chrome浏览器中的HSTS预载入列表,在该列表中的网站,使用Chrome浏览器访问时,会自动转换成HTTPS。Firefox、Safari、Edge浏览器也在采用这个列表。

进入hstspreload官网,输入你的域名,然后检测结果会告诉是否符合加入HSTS Preload List,没有问题的话勾选确定。

当然,加入到了HSTS Preload List后,你可能还需要等待1-2月,待新版本的Chrome和Chromium、Firefox、IE等发布后,你的域名算是正式被各大浏览器承认并强制使用Https访问了。

来源:月光博客


Public @ 2015-12-25 15:56:03

HTTPS认证工具解读

HTTPS(Hyper Text Transfer Protocol Secure)是一种基于SSL/TLS协议的加密传输协议,可提供数据完整性和保密性保护。使用HTTPS可以更安全地浏览网站,并且确保用户与服务器之间的数据传输是加密的。 在使用HTTPS进行数据传输时,需要进行认证,以确认服务器的身份。有许多不同的HTTPS认证工具可用,其中一些包括以下内容: 1. SSL证书:SSL证书是

Public @ 2023-05-28 05:50:16

什么是HSTS?网站开启HSTS的作用

什么是HSTS?HSTS是国际互联网工程组织 IETF 正在推行一种新的 Web 安全协议,网站采用 HSTS 后,用户访问时无需手动在地址栏中输入 HTTPS,浏览器会自动采用 HTTPS 访问网站地址,从而保证用户始终访问到网站的加密链接,保护数据传输安全。HSTS操作原理:1、需要在服务器响应头中添加 HSTS,只有在 HTTPS访问返回时才生效。2、之后设置Max-age参数,设置的时间建

Public @ 2018-04-01 15:56:09

怎样把网站从http转换成https

近两年的情况表明,网站启用https已是大势所趋。但由于懒,一直没有动作。在David Yin的激励下,终于在人际稀少的春节前夕把SEO每天一贴转换成https了。网站上有我博客链接的朋友,麻烦把链接从:http://www.seozac.com改到https://www.seozac.com谢谢。使用https加密目前看有利有弊。利,首先是安全,减少被劫持、篡改的机会。弊,主要是速度上的,由于证

Public @ 2013-04-13 15:55:59

更多您感兴趣的搜索

0.418509s