拥有Vps的好处第一条,有了独立ip. 当然适合开始建设https站点咯,StartSSL提供的免费ssl证书相信大家都有所耳闻。那我们立即开始吧。
首先我们先申请StartSSL的免费用户,注册地址:www.startssl.com。请根据网站的指引,一步一步注册。注意看说明文 字,因为注册很简单。需要注意的是,注册成功后,我们要保存好个人证书,你可以用济览器的证书导出工具,把证书导出到其它地方保存起来, 我当然是放到google docs上了。哈哈。。因为StartSSL用户的登录,不是用用户名和密码登录,而是用证书来识别你的身份的。所以这个一定要放好 ,不能丢了。
第一步,我们要在nginx所在的服务器上生成csr文件,这个是申请证书的申请文件。
mkdir /etc/nginx/certs
cd /etc/nignx/certs
openssl req -new -newkey rsa:2048 -nodes -out server.csr -keyout server.key
第二步,执行之后在/etc/nginx/certs目录中就有,执行cat server.csr查看里面的内容并复制,把server.csr文件内容,复制到StartSSL申请server SSL的CSR输入框里面,如下图
第三大步,按照如下格式修改nginx.conf 配置文件,80端口会自动转给443端口,这样就强制使用SSL证书加密了
server {listen 80;
server_name www.server110.com;
rewrite ^(.*) https://$server_name$1 permanent;
}
server {
listen 443;
server_name www.server110.com;
root /var/www;
ssl on;
ssl_certificate /etc/nginx/certs/server.crt;
ssl_certificate_key /etc/nginx/certs/server.key;
}
原本以为一步修改了nginx.conf 配置文件重启nginx后大功告成,没想到几分钟后收到了startssl的邮件。提示
It seems, that the installation of your server certificate with serial number 1*** for www.***** is not complete! 让我参考http://www.startssl.com/?app=20提示我需要合并证书,于是有了下面这几个步骤
wget http://cert.startssl.com/certs/ca.pem
wget http://cert.startssl.com/certs/sub.class1.server.ca.pem
cat ca.pem sub.class1.server.ca.pem >> ca-certs.crt
cat ca-certs.crt >> server.crt
这是因为需要把startssl的根证书和sub class1的证书附上,因为是他们把证书颁发给你,浏览器需要这张证书才认识你的证书。
最后重启nginx,测试站点通过,哈哈。这样我就有了一个有效期一年的https站点咯:p