昨天试了godaddy的SSL证书,发现并不是那么好用,研究了下Let’s Encrypt。现在很多个人网站都转到Let’s Encrypt,而且他家来历不小,各个大公司都对它进行了赞助。Let’s Encrypt主要的存在意义是普及SSL证书,让全网加速进入https时代,虽然是开源项目,但是免费提供3个月的SSL,还是很受欢迎的。(3个月无所谓啦, 写个程序自动续费即可)
安装部署方法网上很多,自己研究了下,最简单的方法如下:
假设centos 6 已经安装nginx服务,其他版本的指令不明白可以留言。
安装git和epel
yum install git yum install epel
然后切换目录clone以下git
cd /opt git clone https://github.com/letsencrypt/letsencrypt
然后停止nginx服务,切换目录,然后安装。
service nginx stop cd /opt/letsencrypt ./letsencrypt-auto certonly --standalone -d your_domain.tld -d www.yourdomain.tld
之后根据指示输入邮箱等信息,等待验证域名,不过他的验证域名有些问题,多试几次吧。
—————————安装已经完成,以下都都是配置————————
nginx配置我写下重点,不懂的问。
listen 443 ssl default_server; ssl_certificate /etc/letsencrypt/live/your_domain.tld/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/your_domain.tld/privkey.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
搞定之后去ssllab做下测试和评分,https://www.ssllabs.com/ssltest/analyze.html
评测完成之后,发现weak DH key exchange的问题,解决方法如下:
mkdir /etc/nginx/ssl cd /etc/nginx/ssl openssl dhparam -out dhparams.pem 4096
然后# vi /etc/nginx/nginx.conf 加入: