首先我们先申请StartSSL的免费用户,注册地址:http://www.startssl.com。请根据网站的指引,一步一步注册。注意看说明文字,这里就不多讲了。由于注册很简单。需要注意的是,注册成功后,我们要保存好个人证书,你可以用济览器的证书导出工具,把证书导出到其它地方保存起来,如U盘。由于StartSSL用户的登录,不是用用户名和密码登录,而是用证书来识别你的身份的。因此这个一定要放好 ,不能丢了。
第一步,我们要在nginx所在的服务器上生成csr文件,这个是申请证书的申请文件。
mkdir /etc/nginx/certs
cd /etc/nignx/certs
openssl req -new -newkey rsa:2048 -nodes -out server.csr -keyout server.key
第二步,把server.csr文件里面的内容,复制到StartSSL申请server
SSL的CSR输入框里面
点下一步,然后就可以看到ssl.crt的编辑框。 我们把这个编辑框里面的所有文字复制一下,保存在/etc/nginx/certs/ssl.crt里面
然后再执行合并证书的步骤
wget http://cert.startssl.com/certs/ca.pem
wget http://cert.startssl.com/certs/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 bbs.netroby.com;
rewrite ^(.*) https://$server_name$1 permanent;
}
server {
listen 443;
server_name bbs.netroby.com;
root /vhosts/bbs.netroby.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证书加密了。