分类目录归档:HTTPS

FreeSSL证书

为了普及HTTPS加密,沃通CA向全球用户提供多域型免费SSL证书,支持2年期5个域名,满足网站基本使用需求,帮助中小网站和个人网站零成本启用HTTPS加密。

沃通免费SSL证书产品介绍站点:https://freessl.wosign.com
沃通免费SSL证书中文申请入口:https://buy.wosign.com/free
沃通免费SSL证书英文申请入口:https://buy.wosign.com/free/?lan=en

还有Let’s Encrypt项目https://letsencrypt.org/getting-started/

Let’s Encrypt is a free, automated, and open certificate authority brought to you by the non-profit Internet Security Research Group (ISRG).

HTTP Strict Transport Security(HSTS)

通过HSTS告诉浏览器默认使用https

一般我们的web服务同时支持http和https,但是会将http重定向到https,而且每次在浏览器直接输域名或者带http的时候,都会执行一次跳转,这样很不简洁,而且存在中间人攻击潜在威胁,跳转过程可能被恶意网站利用来直接接触用户信息。这是我们可以通过HTTP Strict Transport Security通知浏览器,这个网站禁止使用HTTP方式加载,浏览器应该自动把所有尝试使用HTTP的请求自动替换为HTTPS请求。
要实现这个功能,只需要加入一个header就行:

Strict-Transport-Security: max-age=expireTime [; includeSubdomains]

后面的includeSudomians是可选的,expireTime以秒位单位。例如在nginx加上HSTS的话,只需要在https的server配置段加上如下行,然后别忘了reload:

add_header Strict-Transport-Security "max-age=86400; includeSubdomains; preload";

当浏览器第一次通过HTTPS请求时,服务器响应Strict-Transport-Security 头,浏览器记录下这些信息,然后后面尝试访问这个网站的时候,浏览器都会自动把HTTP替换为HTTPS。

你可以在浏览器F12窗口里看到此条http header, 或者用curl -I也能看到

HTTP/1.1 200 OK
Server: nginx
Date: Thu, 15 Oct 2015 12:27:36 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding
X-Pingback: https://imbusy.me/xmlrpc.php
Strict-Transport-Security: max-age=86400; includeSubdomains; preload

当HSTS头设置的过期时间到了,后面通过HTTP的访问恢复到正常模式,不会再自动跳转到HTTPS。另外这个http header加载http中会被浏览器忽略掉。

全站使用HTTPS

HTTPS是大势所趋,于是给imbusy.me全站使用了HTTPS,并且将HTTP的请求自动跳转到了HTTPS。使用WoSign家的免费SSL证书“WoSign CA Free SSL Certificate G2”