为我的VPS添加SSL认证

2011年2月24日 | 分类: Linux | 标签: , , , , , ,

StartSSL是互联网上唯一的免费SSL证书签发机构。
首先我们先申请StartSSL的免费用户,注册地址:http://www.startssl.com。请根据网站的指引,一步一步注册。注意看说明文字,这里就不多讲了。因为注册很简单。需要注意的是,注册成功后,我们要保存好个人证书,你可以用济览器的证书导出工具,把证书导出到其它地方保存起来。因为StartSSL用户的登录,不是用用户名和密码登录,而是用证书来识别你的身份的。所以这个一定要放好 ,不能丢了。

进行下一步前,还需要在StartSSL验证你的域名

第一步,我们要在nginx所在的服务器上生成csr文件,这个是申请证书的申请文件。

mkdir /etc/nginx/certs
cd /etc/nignx/certs
openssl req -new -newkey rsa:2048 -nodes -out server.csr -keyout server.key
cat server.csr

查看里面的内容并复制

第二步,把server.csr文件里面的内容,复制到StartSSL申请server SSL的CSR输入框里面

点下一步,然后就可以看到ssl.crt的编辑框。 我们把这个编辑框里面的所有文字复制一下,保存在/etc/nginx/certs/ssl.crt里面

vi ssl.crt

然后再执行合并证书的步骤

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 >> ssl.crt

我们可以开始配置nginx使用刚刚准备好的ssl证书了

      server {
        listen 80;
        server_name _;
        rewrite ^(.*) https://$server_name$1 permanent;
}
server {
        listen   443;
        server_name _;
        root /vhosts/yishanhome.com;
        include /etc/nginx/discuz.conf;
        include /etc/nginx/root.conf;
        ssl on;
        ssl_certificate /etc/nginx/certs/ssl.crt;
        ssl_certificate_key /etc/nginx/certs/server.key;
}

80端口会自动转给443端口,这样就强制使用SSL证书加密了。

目前还没有任何评论.

返回顶部