用 Let's Encrypt 给网站加上 HTTPS 完全指南 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
wxiluo
V2EX    程序员

用 Let's Encrypt 给网站加上 HTTPS 完全指南

  wxiluo 2016-05-29 19:25:34 +08:00 11707 次点击
这是一个创建于 3490 天前的主题,其中的信息可能已经有所发展或是发生改变。

周末看 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+:

24 条回复    2016-06-02 19:53:36 +08:00
xencdn
    1
xencdn  
   2016-05-29 19:32:54 +08:00
qgy18
    2
qgy18  
   2016-05-29 19:33:44 +08:00   4
Google Analytics 用得很 666 ,我给满分!
timothyye
    3
timothyye  
   2016-05-29 19:48:12 +08:00 via Android
赞一个
yeyeye
    4
yeyeye  
   2016-05-29 20:12:59 +08:00
标题党 Windows 服务器部分啥都没提
freaks
    5
freaks  
   2016-05-29 20:40:37 +08:00   1
为啥打开博客要老半天啊
zacard
    6
zacard  
   2016-05-29 20:51:47 +08:00 via iPhone   1
非常棒。学习了
lhbc
    7
lhbc  
   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
4679kun
    8
4679kun  
   2016-05-29 22:33:29 +08:00   1

听说现在流行比这个
skywing
    9
skywing  
   2016-05-29 23:51:09 +08:00 via Android   2
现在这些工具是越来越方便了,之前在 hostloc 写过一篇,传送门 http://www.hostloc.com/thread-313985-1-1.html 太复杂了
kingcos
    10
kingcos  
   2016-05-29 23:56:45 +08:00 via iPhone   1
看了你的决定把博客也换成 https ,不过我的是 Hexo+GitHub Pages ,所以找了 CloudFare 弄的,不过现在好像我们的校园网访问不到我的博客了=_=
amorphobia
    11
amorphobia  
   2016-05-30 00:57:43 +08:00 via iPhone   1
看了你的博客惊奇的发现你的左上角有个 logo ,然后我也去上传了一个 logo …
lyragosa
    12
lyragosa  
   2016-05-30 00:59:10 +08:00   1
然而 chrome 现在的绿锁里面什么都不写了,还让不让人愉快的装 B 了
Tony1ee
    13
Tony1ee  
   2016-05-30 07:33:47 +08:00 via Android   1
@lyragosa 移动版还是可以装逼的
majinjing3
    14
majinjing3  
   2016-05-30 08:03:55 +08:00 via Android   1
赞!
wxiluo
    15
wxiluo  
OP
   2016-05-30 09:13:01 +08:00 via iPad   1
@qgy18 哈哈 确实 GA 我用的很熟悉呀。有时间可以写一篇有关 GA 的文章分享。
aec4d
    16
aec4d  
   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
Kokororin
    17
Kokororin  
   2016-05-30 11:45:20 +08:00   1
hostker 一键申请&安装证书
aitaii
    18
aitaii  
   2016-05-30 12:25:06 +08:00   1
楼上一键安装的效果 https://lgtiamo.com
lslqtz
    19
lslqtz  
   2016-05-30 14:12:46 +08:00   1
我在用 GlobeSSL ,因为少所以装逼。沃通那种 CA 我不用。。上次才找到一个沃通的洞。 Let's Encrypt 太普及没逼格,不用 2333 。
http://233.dog/f_62094421.png
lslqtz
    20
lslqtz  
   2016-05-30 14:15:13 +08:00   1
@lyragosa 是的,因此我还是用 49 。
013231
    21
013231  
   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 服器的域名法解析.
wxiluo
    22
wxiluo  
OP
   2016-06-02 12:34:29 +08:00
@013231 感谢指正。

问题 1 ,我确实知道可以省略,但不清楚为什么模版中没有省去,猜测可能有兼容问题?我实际去掉 ssl_trusted_certificate 后,确实没有任何问题。

问题 2 , resolver ,这个我确实没有查证,立刻修改。
wxiluo
    23
wxiluo  
OP
   2016-06-02 12:42:30 +08:00
@013231 已经更新原文。再次感谢。
013231
    24
013231  
   2016-06-02 19:53:36 +08:00
@wxiluo 生成的那模板不知道你的 ssl_certificate 是否含中呀. 如果用了不含中的 cert.pem, ssl_trusted_certificate 就不能省略. 你的文章中 ssl_certificate 用了 fullchain.pem, 所以後面就不用置 ssl_trusted_certificate 了.
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5020 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 28ms UTC 08:53 PVG 16:53 LAX 00:53 JFK 03:53
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86