为网站配置SSL安全链接

2016-10-26  札记  ,  55

为网站配置SSL安全链接

以前一直没在Linux+Nginx环境下配置过SSL安全链接,这两天没事折腾了一下,基本上弄明白了,并且成功实现了网站通过https的方式进行安全链接。其主要操作步骤现记录下来,也算是做一个笔记。

1、申请SSL证书:

刚开始是在startssl上申请的免费证书,有3年的有效期,一个证书可包含10个子域名,看着还是不错的。后又辗转到Qcloud,申请了免费的SSL证书,有效期为1年,测试了下,各浏览器下都正常,所以大家可以去Qcloud.com申请免费的SSL证书使用。另外,aliyun也可以申请免费的SSL证书。

在Qcloud的申请过程中,要验证你的域名的所有权,会要求你解析一个CNAME,验证通过就可以下载证书了。

2、上传证书到VPS:

将申请到的SSL证书上传到你的VPS相应的目录中,我是新建了一个名为“SSL”的目录,存储在这个位置。

3、安装SSL证书:

证书到手并上传后,就可以设置你的网站配置文件了。由于我的服务器使用的是Nginx,在对应的Web配置文件中修改server{ }配置即可。

server {

listen 443 SSL;

server_name www.domain.com;

ssl on;

ssl_certificate SSL/1_www.domain.com_cert.crt;

ssl_certificate_key SSL/2_www.domain.com.key;

ssl_session_timeout 5m;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

ssl_prefer_server_ciphers   on;

ssl_ciphers  HIGH:!aNULL:!MD5;

ssl_session_cache builtin:1000 shared:SSL:10m;

location / {

#其它配置

}

}

配置好后,重启下nginx,测试使用https://www.domain.com访问,浏览器地址栏前成功的出现了把绿色的锁,说明配置成功了。

在ssllabs.com中测试了下安全加密链接,竟然给了个C的评级,想想不对啊,后又仔细查了查,在上述配置中将“ssl_ciphers  HIGH:!aNULL:!MD5;”更改为:

ssl_ciphers ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:DES-CBC3-SHA;

重新加载nginx配置,重新评级妥妥的“A”。

4、设置http跳转到https:

在平常访问网址时,出于习惯我们不会输入http或https,在地址栏直接输入地址(如:www.byspace.net)浏览器是打开https://www.iyuren.com,而不是https://www.iyuren.com。为了方便将http的链接自动跳转到https上,只需要在上述3中的server{ }前再增加一个server{ },用来监听http的80端口,并实现跳转。

URL重写进行跳转方式:

server {

listen 80;

server_name domain.com;

rewrite ^(.*) https://$server_name$1 permanent;

}

通过301重定向进行跳转方式:

server {

listen 80;

server_name domain.com;

return 301 https://$server_name$request_uri;

}

好了,通过上面的配置,就实现了个网站通过https的安全方式进行链接了!

  • 用支付宝打我
  • 用微信打我

生活是一种记录:记录所见、所闻、所想、所感……

《为网站配置SSL安全链接》55条评论

  1. Lonely 说道:

    现在的问题就是CDN必须要套餐才可以使用SSL,放源又怕被打。。。

  2. 握兰网 说道:

    配置SSL的感觉很高大上,我等只能仰望了

  3. 筚路蓝缕 说道:

    Qcloud现在不支持顶级域名。。

  4. 筚路蓝缕 说道:

    是否需要买腾讯的主机才行了。。

    • 山野愚人居 博主 说道:

      @筚路蓝缕那不是,只要支持SSL的服务器都行,把申请到的证书放到自己的服务器上配置就行!

      • 筚路蓝缕 说道:

        @山野愚人居落伍了,现在还用的几年前脑壳发热续了几年续的虚拟主机,要想可劲造还得上VPS才行。

  5. 不亦乐乎 说道:

    https 你的图片CDN是放哪里的?自己的vps上?

  6. 闲鱼 说道:

    貌似小绿锁没出来

  7. 小萝博客 说道:

    没你这么壕啊,还是虚拟机

  8. 自定义 说道:

    用这个主题的人越来越少了,博主改的不错呀。文章结尾增加上下篇的指导文章有莫有 0.0

  9. 憧憬Licoy 说道:

    博主的startSSL证书居然是三年期的,我的才一年

  10. Han 说道:

    现在博客好多都搞SSL,有个绿锁看着逼格高点。。。

发表评论