为网站配置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. 木先森 说道:

    我的证书申请成功了,但是被告知虚拟主机不支持ssl,看来我要换一个服务器了。

    • 山野愚人居 博主 说道:

      @木先森换阿里或腾讯的云服务器, 一次买3年好像也只有800块钱吧,自主程度相当高!

  2. 筚路蓝缕 说道:

    我的评级也是A了,但是不明白这个ssl_ciphers 参数是怎么定义的。

  3. 筚路蓝缕 说道:

    “ssl_ciphers HIGH:!aNULL:!MD5” 这个是自定义的密钥吗?

  4. Loekman 说道:

    startssl貌似现在不好

  5. 山小炮 说道:

    vps就是好,可以自己配置。

  6. 尹先生 说道:

    突然看到你的公安备案,请问用了多长时间,我的已经半年多了,一点动静都没有。

    • 山野愚人居 博主 说道:

      @尹先生我的48小时内就审批搞定了,还是当地公安网警打电话催我办理的。其实这个也无所谓,只要有正规备案号就行,上个月有个网站也上公安网警备案,结果直接给拒了,但照样无任何妨碍!

  7. 黑暗游侠 说道:

    可以再加上HSTS

  8. wu先生 说道:

    不错,绿了。

  9. 烧酒 说道:

    话说,博主会安装pem格式的证书吗?两个文件都是pem,看懵B了。。。现在只能靠Let’s Encrypt苟活。。

    • 王琪亮 说道:

      @烧酒看文件开头是不是三杠加上begin certificate,后缀名无关。

发表评论