本文由 伯乐在线- 光光头去打酱油翻译。未经许可,禁止转载!
英文出处:dzone.com。欢迎加入翻译组。
由于我的虚拟主机已经无法满足极速增长的需求了,我不得不忙着寻找新的托管。在这个过程中,研究了下 SSL 方案,并且一个朋友也建议我采取加密措施。我很喜欢这段折腾的过程,我想将它分享给大家。
我的困境
之前的托管商(不点名了)已经不堪重负了。一开始他们是一家很好的小公司,有着很快的服务器以及超好的服务,后来被收购了。新公司就像那些大公司一样,削减开支,降低产品质量。他们美其名曰的和我们说“服务器升级”,结果却是个更烂的服务。网站因为廉价服务器而频繁的中断服务。我打过电话但是没有得到回复,邮件也是外包技术支持回复的,他们也仅仅是复制粘贴一堆废话回复给我。维持了三年的良好服务,一夜之间荡然无存。
所以我要尽快转移网站,因为用了 SSL ,而且所有页面都被 Google 以 SSL 方式收录过了,所以最好继续使用 SSL。我甚至都不想尝试联系技术支持人员,让他们把证书导出到现在的服务器上,于是就想想其他办法。我找到了 LetsEncrypt。自从将网站转移到新的 Linux 服务器上后,LetsEncrypt对我说是个不错的方案,我决定尝试一下。
如何安装免费的 SSL/TLS
1
2
3
4
sudo apt-get install git
git clonehttps://github.com/letsencrypt/letsencrypt
cd letsencrypt
./letsencrypt-auto--help
安装了所有必须组件和 LetsEncrypt 应用。它们有两个方案安装证书,一种是独立的方法,另一种是使用 “webroot”插件。单独的方法需要停止服务器,webroot 方法可以在服务器运行的时候完成安装。停掉服务器对我来说没啥可担心的,不过我选择了更简单的方法:
1
sudo/home/web/.local/share/letsencrypt/bin/letsencrypt certonly--webroot-w/var/www/html-djeremymorgan.com-dwww.jeremymorgan.com
展开全文
这就创建好了证书,不过我想加强一点,看看我是怎么做的
Group 生成强大的 Diffie-Hellman Group
为了生成强大的 Diffie-Hellman group,运行下面的命令:
1
sudo openssl dhparam-out/etc/ssl/certs/dhparam.pem2048
注意证书的位置,会把它加到默认设置中。这些就是我增加的配置了:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
listen[::]:443default_server;
listen443ssl default_server;
server_name www.jeremymorgan.com jeremymorgan.com;
ssl_certificate /etc/letsencrypt/live/jeremymorgan.com/fullchain.pem;
ssl_certificate_key/etc/letsencrypt/live/jeremymorgan.com/privkey.pem;
ssl_trusted_certificate/etc/letsencrypt/live/jeremymorgan.com/chain.pem;
ssl_protocols TLSv1 TLSv1.1TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_dhparam/etc/ssl/certs/dhparam.pem;
ssl_ciphers'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
ssl_session_timeout1d;
ssl_session_cache shared:SSL:50m;
ssl_stapling on;
ssl_stapling_verify on;
add_header Strict-Transport-Security max-age=15768000;
然后保存文件,重启 NGINX:
1
sudo service nginx reload
有了吧?是的,证书就装好了。
现在有一把漂亮的绿色小锁了。和上次的证书没多少不同的:
不错吧!
结论
我分享这篇文章就是想让大家看看,用 LetsEncrypt 为自己的网站安装免费的 SSL 证书是有多么简单。这个项目的目的是加密一切,这是个好主意。
打赏支持我翻译更多好文章,谢谢!
打赏译者 打赏支持我翻译更多好文章,谢谢!
任选一种支付方式
1赞收藏评论
关于作者:光光头去打酱油
全干工程师(公司打杂的) 个人主页· 我的文章· 20·
网友评论
最新评论
ebroot”插件。单独的方法需要停止服务器,webroot 方法可以在服务器运行的时候完成安装。停掉服务器对我来说没啥可担心的,不过我选择了更简单的方法:1sudo/home/web/.local/sh
的Group 生成强大的 Diffie-Hellman Group为了生成强大的 Diffie-Hellman group,运行下面的命令:1sudo openssl dhparam-out/etc/ssl/certs/dhparam.pem2048注意证书的位置,会把它加到默