很久以前,微魔曾经发表过如何获取和使用NameCheap赠送的PositiveSSL安全证书(传送门),但是文章发表的时间很早,一些程序已经不再适用,例如现在从NameCheap给的证书已经不同了,之前得到的证书包括四个(*youdomainname*.crt、ComodoRSADomainValidationSecureServerCA.crt、COMODORSAAddTrustCA.crt、AddTrustExternalCARoot.crt),而微魔昨天得到的SSL只有两个(*yourdomainname*.crt、*yourdomainname*.ca-bundle)。今天,微魔就和大家分享一下Nginx安装Comodo PositiveSSL的最新方法。
为Nginx添加Comodo SSL证书
首先安装Nginx,根据自己的Linux发行版安装好Nginx或者也可以参照Nginx官方的安装教程。
1. 根据获得的SSL证书内容,将获得的证书进行合并操作
如果你得到的是以下四个证书,请用如下命令(将www_yourdomain_com换成自己的)
cat www_yourdomain_com.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > ssl-bundle.crt
如果你得到的是以下两个证书,请用如下命令(将www_yourdomain_com换成自己的)
cat www_yourdomain_com.crt www_yourdomain_com.ca-bundle > ssl-bundle.crt
2. 修改Nginx的虚拟主机配置(位置可能位于/etc/nginx/sites-available/或/usr/local/nginx/sites-available/),参考下面的证书配置进行添加修改
server { listen 443; server_name mysite.com; ssl on; ssl_certificate /etc/ssl/certs/ssl-bundle.crt; ssl_certificate_key /etc/ssl/private/mysite.key; #enables all versions of TLS, but not SSLv2 or 3 which are weak and now deprecated. ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #Disables all weak ciphers ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4"; ssl_prefer_server_ciphers on; }
最近几个月我们一些住美国的买了一大堆这些两块钱的SSL,其实他们不管你挂哪儿,十块钱搞定,很合算。
确实,我之前一直用Namecheap送的SSL证书,但是有效期只有一年,有点儿折腾