说说HTTPS那点事

说说HTTPS那点事

网站已经全线HTTPS有些时候了,这篇文章,我就说说部署HTTPS的一些事吧

证书哪里来?

其实我很久之前就想用Let’s Encrypt签发一个证书了,奈何Let’s Encrypt官方工具的验证方式太奇葩,国内DNS几乎全躺,于是暂时作罢

后来无意间发现了这个小工具,不仅小巧而且支持DNSPod/CloudXNS,试了一下果然有效,于是便签发了我的第一个Let’s Encrypt SSL证书

七牛不支持Let’s Encrypt

大家也知道,因为浏览器安全策略,HTTPS页面是不允许加载非HTTPS的JS脚本。所以也有必要把CDN也加到HTTPS证书里面

但是在七牛添加证书的时候,我填入我的Let’s Encrypt证书,却被告知证书无效。咨询客服才知道,七牛暂不支持Let’s Encrypt证书

于是便将CDN搬迁到又拍云。不得不吐槽一下,七牛不论是上传还是下载,方便性都十分糟糕。又拍云支持FTP倒是方便许多

更换StartSSL

Let’s Encrypt啥都好,就是三月有效期太蛋疼。VPS倒是可以挂个Cron自动续期,但是又拍云得我手动去搞吧?于是便找朋友帮忙,签发了个StartSSL泛域名的证书

StartSSL相对来说,配置就没有那么方便了。首先便是浏览器报不信任,这倒是好办,把根证书加到网站证书后面就行了:

-----BEGIN CERTIFICATE-----
MIIF5TCCA82gAwIBAgIQd2dvyPqWCLp22vyI5wUXdDANBgkqhkiG9w0BAQsFADB9
MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMi
U2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3Rh
cnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTUxMjE2MDEwMDA1WhcN
MzAxMjE2MDEwMDA1WjB4MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20g
THRkLjEpMCcGA1UECxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkx
JjAkBgNVBAMTHVN0YXJ0Q29tIENsYXNzIDQgRVYgU2VydmVyIENBMIIBIjANBgkq
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr0gsshD4y+My30tBHenjJEUa+HsO92a1
LbYcEvvHqLe64HmxT8mvz7oiH6KpVbVs74Wb5k6v750k9WjOhp4dAi43iOFJUxfa
MgJyB+6kdoFavXn7x2P6ug/aLqEx7syoiD66fVDLv1XMYUnI3jZnqQTWPPZ1o97k
wZCIIOM+tUpGnDMXXmbeYq1TqsxuMBWfjMwtWSeBV3EMETsdmPgv89Dsso7hgiRp
bJvJCH9G5KstAOt5L9rLX8LDbgHkJQlpHrgY57iGch0PQgT6jA4tA7Xtowde+AtC
OGMyzB43hWxkgSy0mqbMrjji1rl+2S36G4qMlnssBcol6kbn9Rz6EwIDAQABo4IB
ZDCCAWAwDgYDVR0PAQH/BAQDAgEGMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDATASBgNVHRMBAf8ECDAGAQH/AgEAMDIGA1UdHwQrMCkwJ6AloCOGIWh0dHA6
Ly9jcmwuc3RhcnRzc2wuY29tL3Nmc2NhLmNybDBmBggrBgEFBQcBAQRaMFgwJAYI
KwYBBQUHMAGGGGh0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbTAwBggrBgEFBQcwAoYk
aHR0cDovL2FpYS5zdGFydHNzbC5jb20vY2VydHMvY2EuY3J0MB0GA1UdDgQWBBQO
2A3SZh2rcraJZUtkPX4YJ9SM3jAfBgNVHSMEGDAWgBROC+8apEBbpRdphzDKNGhD
0EGu8jA/BgNVHSAEODA2MDQGBFUdIAAwLDAqBggrBgEFBQcCARYeaHR0cDovL3d3
dy5zdGFydHNzbC5jb20vcG9saWN5MA0GCSqGSIb3DQEBCwUAA4ICAQBD4zqpCMSi
HMuNArGLUtiyrzzrPjPYuU8bEVhQSMu99S4GqiI816LQqT/OwcsCjUhbU36Vk4u+
/9gWJJCmPuibypFqlAO99K6r3Zl3qDQYBwNpgw1fzv2l3J6G0oScf8YMxPYfSZug
IRtz8yb2hTLCOKBb49/yeSw2/+WUNvIZqXUdjIdWlntux4meIYhQBlrCt17nAz4t
7QLfcZh5s6dRLkpdxNICzoM5N7f0MzmAbmhDv4e3eC9mhvAq+772xB0Hcg4oMSIH
CgOsAbDTvC030+BLNHoPd6rRY38FgPxywFomfHwQ5DZu0HMreXpzbKUu0+xXzI6y
SN62p1BgbJpTyuuiVC233jnkh9LCYCiFwgdoaMm99HAje0gDPa+kVsG8sMbLQ2qT
afhAf91oOtTVyxZpaYtyvcOk/+qI4y6rkmuR4lxM50EQ3ZR0guvsp7+9rOYBGUp9
r4/UXRAYfnk3uB/mDWrLcLAJQu7UHu4Mm1K3JL9PiDax6Hv3Xf9ELKaZNS2hoPzx
xmo6R/E7xyFCrkzU8RlTs47Ukfj9rU/uMzc+xnRgbiKIMo2kkXG0rtH+O6mBV3xs
Q0xBQGumZatOOgHOI+s1jfCzzRgbt4dpYZ17a4C0jzi+YMXGbH/aNZQi3UFtq007
s7PvS/9Lq2E4nxKDPlyhdVq1Z6s3OeYSTw==
-----END CERTIFICATE-----

测试了一下,电脑上的浏览器都不报错了,但是手机浏览器依然报错,怎么回事?原来还要加上前发者证书,例如我的是由“StartCom Class 2 IV Server CA”签发

签发者

之后导出该证书

导出证书

然后用文本编辑器打开,把这个证书加到网站证书(你的网站的)和根证书中间

HTTPS带来的好处

HTTPS会让浏览更加安全,防止各类劫持、监听行为,并且有利于主流搜索引擎的SEO(主要指Google、百度)

网站全面HTTPS化是趋势――目前HTTP2必须HTTPS才可使用

越来越低的门槛

几年前HTTPS只有大企业才会用、才能用,而且一般不会全站部署

但是随着时代发展,HTTPS也愈加平民化。很多个人站长也已经将网站HTTPS化

这里列举一些关于HTTPS的东西:

免费证书:Let’s Encrypt、StartSSL

支持HTTPS的免费CDN(可自动生成证书):360网站卫士、CloudFlare