申请StartSSL的证书,在Nginx上启用,以及Firefox问题处理

StartSSL的免费证书乃神器。签一下,立即正规多了。虽然一些小地方不支持,但是也无伤大雅。
 
教程很多很多,简单说:
 
1.注册(别以为不真实的信息能混过去,没人会拿证书开玩笑的),安装浏览器的证书。这个要备份好,因为不可能恢复。
 
创建个私钥。
 
2.创建请求。
 
OpenSSL必须要有,如果你用LNMP,这个是已经有的。
 

openssl req -new -newkey rsa:2048 -nodes -out ssl.csr -keyout ssl.key

 
 
创建请求。信息要和注册时一样。
 

cat ssl.csr

 
 
这个就是请求了。
 
3.绑定域名。
 
有人说需要取消一下Whois保护,其实应该不用。大部分的保护都会转发你的邮件(例如Namecheap的WhoisGuard),这个只需要接一个验证码而已。
 
4.取证书。Copy出来。
 
5.准备证书。
 
这里有个重要提示,如果不这么做,Firefox会报错,很多需要curl的软件不能用。
 
网上教的办法对,但是有点毛病。
 
这么做:
 

openssl rsa -in ssl.key -out ssl2.key

 
 
这步解密Key,免得来回输密码。
 
避免偷窥:
 

chmod 600 ssl2.key

 
 
拽StartSSL的根证书和Class1证书:
 

wget http://www.startssl.com/certs/ca.pem
wget http://www.startssl.com/certs/sub.class1.server.ca.pem

 
 
合并:

cat ssl2.crt sub.class1.server.ca.pem ca.pem > ssl3.crt

 
 
无论你用什么软件,打开看一眼。今天在这个地方浪费了几个小时。
 
这个文件的格式必须是:
-----BEGIN CERTIFICATE-----
***
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
***
-----END CERTIFICATE——
-----BEGIN CERTIFICATE-----
***
-----END CERTIFICATE——
 
[warning]-----BEGIN CERTIFICATE-----和-----END CERTIFICATE-----中间必须空行!否则会直接报错![/warning]
 
6.去Nginx的conf修改。
 
估计大家都是LNMP,改域名的就行。
 
加上:

		listen 443;
		ssl on;
		ssl_certificate /***.crt;
		ssl_certificate_key /***.key;
		include wordpress.conf;
		location ~ .*\.(php|php5)?$
			{
				try_files $uri =404;
				fastcgi_pass  unix:/tmp/php-cgi.sock;
				fastcgi_index index.php;
				include fcgi.conf;
				fastcgi_param  HTTPS on;
			}

 
 
位置可以随便,放在web目录外吧。这样不被getshell就基本不怕。
 
你的东西现在应该畅通无阻了。

1 thought on “申请StartSSL的证书,在Nginx上启用,以及Firefox问题处理

Leave a Reply

Your email address will not be published.