以前一直没在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的安全方式进行链接了!
有把绿色的锁还是很帅的 哈哈^_^
startssl好像被封杀了…
@灰常记忆据说是要被封杀的,不过我上个月申请的还能用,3年期的!
看来以后的潮流应该是HTTPS了,我的还不想折腾,感觉好复杂
@懿古今没那么复杂的,服务器上设置好,网站里的关于本站的”http”全改成“https”就差不了。
@懿古今配置https不难,难得是收尾工作。
现在用https的越来越多了
阿里好像不免费了,腾讯的好申请么?想试试。
@不亦乐乎阿里的有免费的啊,我前几天刚申请了一个阿里的,腾讯的好申请!
还是这种主题看起来更舒服啊
我是从SSL变成普通的链接。毕竟,需要AD。
总感觉https显得对搜索引擎不友好,我仍旧处于观望状态
@文栋说自媒体https进趋势啊!
很详细,学习了!
@工控人生相互学习!
代码,表示看不懂