目前越来越流行https的网站了,作为个人如何给自己的web服务器升级呢?不要错过免费的StartSSL。

来自以色列的StartSSL据说已经被一家中国公司收购(ps)。

那么,具体如何实施呢?接下来我们一步走。

登陆https://startssl.com,注册一个账号。它会要求你安装一个证书,凭借此证书才可以进入管理界面。

安装好证书后,选择Validations Wizard。验证你的域名,这时,你必须关闭域名商对你的域名信息保护,过不了几分钟即可生效。选择你注册的邮箱,它会向你的邮箱发一封验证邮件,从邮箱获取验证码,证明你拥有这个域名。

验证域名后,就要开始制作证书了,选择Certificates Wizard。选择DV SSL Certificate,输入你的二级域名。然后生成key和scr文件,命令如下

openssl req -newkey rsa:2048 -keyout yourname.key -out yourname.csr

注意一点:Common Name填之前写的域名

接着,cat yourname.csr。将csr内容填到网页中。

提交网页,然后就生成了 certificate文件。

将文件下载下来,选择Nginx的压缩包,将里面的crt文件上传到你的服务器上。(例如/data/server)

为了安全起见,一般建议chmod 400一下key,csr,crt文件。

接下来,将你的key文件做一下处理,去除必须的口令。

cp server.key server.key.org
openssl rsa -in server.key.org -out server.key

紧接着,配置域名server。

server{
        listen 80;
        server_name 你的域名;
        rewrite ^(.*) https://$server_name$1 permanent;
        #不想跳转的话注释掉上一句,将下面location / 到location ~之间的内容copy过来即可   
}

 server{
        listen       443;# ssl;
        server_name  你的域名;
        location / {
            root   项目路径;
            index  index.html index.htm index.php;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        location ~ \.php$ {
            root           项目路径;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
        ssl on;
        ssl_certificate crt文件路径/server.crt;
        ssl_certificate_key key文件路径/server.key;
    }

重启nginx,恭喜你完成升级

参考博客:

https://www.centos.bz/2011/12/nginx-ssl-https-support/

Startssl 现在就启用 HTTPS,免费的!

标签: https, Nginx

添加新评论