申请StarSSL的免费SSL证书过程很容易找到,就此省略。

首先注意,根证书和中间证书,使用SHA2算法的,如果继续使用SHA1,部署以后会被Chrome39以后的版本提示不安全。

将申请到的公私钥放在某个目录假设是在/usr/local/nginx/conf/ssl,进入目录,假设文件名为ssl.crt和ssl.key。

1.下载根证书,和中间证书,并将它们与域名证书合并:

wget https://www.startssl.com/certs/ca-sha2.pem

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

cat ssl.crt sub.class1.server.sha2.ca.pem ca-sha2.pem > /usr/local/nginx/conf/ssl_ca.crt

2.安装ssl.key:

chmod 600 ssl.key

openssl rsa -in ssl.key -out /usr/local/server/nginx/conf/ssl_ca.key

需要输入申请证书时输入的Key Password。

3.修改站点配置文件 :

server里将监听端口改为443,并添加几行。

server

    {

    listen 443;

    ssl on;

    ssl_certificate /usr/local/nginx/conf/ssl_ca.crt;

    ssl_certificate_key /usr/local/nginx/conf/ssl_ca.key;

    ssl_session_timeout 5m;

    ......

然后再新增一个server,将http跳转至https,www域名跳转至无www域名。

server{

    listen 80;

    server_name anohana.org www.anohana.org hmoe.me www.hmoe.me;

    return 301 https://anohana.org$request_uri;

}

大功告成。