周末看 Google I/O 2016 ,谷歌大力在推 HTTPS ,于是上手实践把自己的博客加上,与恶心的运营商劫持抗争到底。
《用 Let's Encrypt 给网站加上 HTTPS 完全指南》传送门:
https://ksmx.me/letsencrypt-ssl-https/?utm_source=v2ex&utm_medium=forum&utm_campaign=20160529
最后成果, Qualys SSL Labs 安全测试 A+:

|  |      1xencdn      2016-05-29 19:32:54 +08:00 赞 | 
|  |      2qgy18      2016-05-29 19:33:44 +08:00  4 Google Analytics 用得很 666 ,我给满分! | 
|  |      3timothyye      2016-05-29 19:48:12 +08:00 via Android 赞一个 | 
|  |      4yeyeye      2016-05-29 20:12:59 +08:00 标题党 Windows 服务器部分啥都没提 | 
|  |      5freaks      2016-05-29 20:40:37 +08:00  1 为啥打开博客要老半天啊 | 
|      6zacard      2016-05-29 20:51:47 +08:00 via iPhone  1 非常棒。学习了 | 
|  |      7lhbc      2016-05-29 21:05:55 +08:00 签个 ECC 证书,然后只允许以下 ciphers ,真省事。 TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca9) ECDH secp256r1 (eq. 3072 bits RSA) FS 256 OLD_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 (0xcc14) ECDH secp256r1 (eq. 3072 bits RSA) FS 256 TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (0xc02b) ECDH secp256r1 (eq. 3072 bits RSA) FS 128 TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 (0xc02c) ECDH secp256r1 (eq. 3072 bits RSA) FS 256 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 (0xc023) ECDH secp256r1 (eq. 3072 bits RSA) FS 128 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009) ECDH secp256r1 (eq. 3072 bits RSA) FS 128 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 (0xc024) ECDH secp256r1 (eq. 3072 bits RSA) FS 256 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a) ECDH secp256r1 (eq. 3072 bits RSA) FS 256 | 
|      84679kun      2016-05-29 22:33:29 +08:00  1   听说现在流行比这个 | 
|      9skywing      2016-05-29 23:51:09 +08:00 via Android  2 现在这些工具是越来越方便了,之前在 hostloc 写过一篇,传送门 http://www.hostloc.com/thread-313985-1-1.html 太复杂了 | 
|  |      10kingcos      2016-05-29 23:56:45 +08:00 via iPhone  1 看了你的决定把博客也换成 https ,不过我的是 Hexo+GitHub Pages ,所以找了 CloudFare 弄的,不过现在好像我们的校园网访问不到我的博客了=_= | 
|  |      11amorphobia      2016-05-30 00:57:43 +08:00 via iPhone  1 看了你的博客惊奇的发现你的左上角有个 logo ,然后我也去上传了一个 logo … | 
|  |      12lyragosa      2016-05-30 00:59:10 +08:00  1 然而 chrome 现在的绿锁里面什么都不写了,还让不让人愉快的装 B 了 | 
|  |      14majinjing3      2016-05-30 08:03:55 +08:00 via Android  1 赞! | 
|  |      16aec4d      2016-05-30 10:11:52 +08:00  2 并不需要如此麻烦,在 nginx 下配置总结步骤如下(在 root 下执行) wget https://dl.eff.org/certbot-auto chmod a+x certbot-auto ./certbot-auto ~/.local/share/letsencrypt/bin/pip install -U letsencrypt-nginx ./certbot-auto --nginx -d www.demo.com -d demo.com --email [email protected] --agree-tos 写入 crontab * * * * * /root/certbot-auto renew && service nginx reload ------------------------------------------------------------------ 如果使用 DNS 挑战,建议使用 https://github.com/Neilpang/acme.sh | 
|      17Kokororin      2016-05-30 11:45:20 +08:00  1 hostker 一键申请&安装证书 | 
|  |      18aitaii      2016-05-30 12:25:06 +08:00  1 楼上一键安装的效果 https://lgtiamo.com     | 
|  |      19lslqtz      2016-05-30 14:12:46 +08:00  1 我在用 GlobeSSL ,因为少所以装逼。沃通那种 CA 我不用。。上次才找到一个沃通的洞。 Let's Encrypt 太普及没逼格,不用 2333 。 http://233.dog/f_62094421.png | 
|      21013231      2016-06-01 10:44:48 +08:00 文章中關於 Nginx 配置的部分有些問題:  1. http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_stapling "If the ssl_certificate file does not contain intermediate certificates, the certificate of the server certificate issuer should be present in the ssl_trusted_certificate file." 由於上面 ssl_certificate 已經使用了 fullchian.pem, 合成 root_ca_cert_plus_intermediates 證書并配置 ssl_trusted_certificate 的部分是可以省掉的. 2.` resolver`的作用是"resolve names of upstream servers into addresses", 在這個配置中, resolver 是用來解析 OCSP 服務器的域名的, 和你自己的域名沒有關係. 事實上如果這裡把 resolver 設為 DNSPod 的 NS, 會導致 Let's Encrypt OCSP 服務器的域名無法解析. |