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

智能小程序如何处理死链?

死链(Dead Link)是指指向不存在网页(404 错误页面)的链接,它们会影响网站的可用性以及整体用户体验,主要表现为用户点击链接后发生404错误,即所指向的网页不存在。 智能小程序可以通过一些技术手段来处理死链。 1、定期检查链接:可以定期检查链接,及时发现死链并及时修复。 2、利用机器学习确定死链:可以利用机器学习的方法判断链接实际上是否存在。 3、自动化链接更新:可以让系统自

Public @ 2023-02-24 15:00:26

大型站点网站改版(更换域名)——工具篇

因为业务需要,网站更换域名的事情经常发生,很多站长也会问到如何将更换域名的损失降低。小编在站长社区中发现了一篇好帖子,作者是站长社区的播播同学,现在分享给大家,全文如下:站点名称:播种网站点类型:CMS+BBS站点行业:母婴健康旧版域名站龄:12年事件:闭站,域名更换网站于14年底被迫闭站,并且选择了更换双拼域名,从此流量一去不复返,站本身就是硬伤,还来个更换域名,真是No Zuo No Die,

Public @ 2021-11-26 15:36:39

https证书,ev,dv,ov怎么选择?免费的可以吗

在选择证书的时候,不需要考虑证书签发服务商,或者说价格的问题,因为在SEO上是没任何区别的,一般的企业用免费的证书就可以了。那么什么时候用付费证书呢?如果你有非常多的子域名,这个时候很明显需要用付费证书了,因为1个免费证书,只支持一个域名来使用(WWW或者M ,等等,一个)。

Public @ 2011-08-09 15:56:06

什么是RPC协议?RPC协议与HTTP协议的区别

什么是RPC协议?RPC是一种远程过程调用的协议,使用这种协议向另一台计算机上的程序请求服务,不需要了解底层网络技术的协议。在 RPC 中,发出请求的程序是客户程序,而提供服务的程序是服务器。HTTP是一种超文本传输协议。是WWW浏览器和WWW服务器之间的应用层通讯协议。RPC协议与HTTP协议的区别1、RPC是一种API,HTTP是一种无状态的网络协议。RPC可以基于HTTP协议实现,也可以直接

Public @ 2022-10-23 15:56:09

更多您感兴趣的搜索

0.447543s