我们的征途是星辰大海

My Conquest Is the Sea of Stars

Vps搭建nginx配置StartSSL ssl证书(转)

拥有Vps的好处第一条,有了独立ip. 当然适合开始建设https站点咯,StartSSL提供的免费ssl证书相信大家都有所耳闻。那我们立即开始吧。

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

  1. 第一步,我们要在nginx所在的服务器上生成csr文件,这个是申请证书的申请文件。
  2. mkdir /etc/nginx/certs
    cd /etc/nignx/certs
    openssl req -new -newkey rsa:2048 -nodes -out server.csr -keyout server.key

  3. 第二步,执行之后在/etc/nginx/certs目录中就有,执行cat server.csr查看里面的内容并复制,把server.csr文件内容,复制到StartSSL申请server SSL的CSR输入框里面,如下图
    • startssl后台截图1
    • 《Vps搭建nginx配置StartSSL ssl证书(转)》

    • startssl后台截图2
    • 《Vps搭建nginx配置StartSSL ssl证书(转)》

    • startssl后台截图3
    • 《Vps搭建nginx配置StartSSL ssl证书(转)》

    • startssl后台截图4
    • 《Vps搭建nginx配置StartSSL ssl证书(转)》

    • startssl后台截图5
    • 《Vps搭建nginx配置StartSSL ssl证书(转)》

    • startssl后台截图6
    • 《Vps搭建nginx配置StartSSL ssl证书(转)》

    • startssl后台截图7
    • 《Vps搭建nginx配置StartSSL ssl证书(转)》

    • startssl后台截图8
    • 《Vps搭建nginx配置StartSSL ssl证书(转)》

    • 注意要先将这段代码保存为server.crt

      放在与前面生成的server.csr server.key同一目录/etc/nginx/certs下.

  4. 第三大步,按照如下格式修改nginx.conf 配置文件,80端口会自动转给443端口,这样就强制使用SSL证书加密了

  5. server {
    listen 80;
    server_name www.域名.com;
    rewrite ^(.*) https://$server_name$1 permanent;
    }
    server {
    listen 443;
    server_name www.域名.com;
    root /var/www;
    ssl on;
    ssl_certificate /etc/nginx/certs/server.crt;
    ssl_certificate_key /etc/nginx/certs/server.key;
    }

  6. 原本以为一步修改了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

  7. 这是因为需要把startssl的根证书和sub class1的证书附上,因为是他们把证书颁发给你,浏览器需要这张证书才认识你的证书。 :)

最后重启nginx,测试站点通过,哈哈。这样我就有了一个有效期一年的https站点咯:p

点赞
  1. Firm说道:

    这个高级货了,带https的

    1. wanjie说道:

      嘿嘿,值得折腾一下。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据