精品推荐!Nginx配置阿里云盾SSL安全证书服务

作者 : 开心源码 本文共2783个字,预计阅读时间需要7分钟 发布时间: 2022-05-12 共122人阅读

写在开始

前几天公司把所有的域名都走https通道,从此也走上了高逼格的道路,并成功装逼了一把。

但是,楼主觉的这还远远不够,在这个信息安全重于泰山的时代。谷歌的搜索和Chrome浏览器,早就 推动往HTTPS协议的过渡,提示网站明文传输的HTTP“不安全”。同样,Facebook、Twitter也陆续加入了阵营。国内的百度也大魄力推进并规划HTTPS项目,也是希望产业界认识到“HTTP = 不安全”的严重性。

附近的很多小伙伴们也加入HTTPS的阵营,然而,我等屁民,网站怎样还好心思使用HTTP?(当然,对于个人而言,有必要么?有必要么?有必要么?哈哈哈,真没必要,真没必要,真没必要)。

HTTPS简介

HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层解决加密信息的板块。服务端和用户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。具体是如何进行加密,解密,验证的,且看下图。

精品推荐!Nginx配置阿里云盾SSL安全证书服务

阿里云证书服务

常见问题:https://help.aliyun.com/knowledge_list_page/42212/2.html

不要感谢我 请叫我雷锋。

申请SSL证书

阿里云控制台-安全(云盾)-证书服务。

点击右上角的购买证书就可,这里大家可以选择免费型DV SSL。免费数字证书,最多保护一个明细子域名,不支持通配符,一个阿云帐户最多签发20张免费证书。证书品牌:赛门铁克是 SSL/TLS 证书的领先提供商,为全球一百多万台网络服务器提供安全防护。选择赛门铁克后,证书颁发机构 (CA) 将妥善保护您的网站和信用,让您安枕无忧。

精品推荐!Nginx配置阿里云盾SSL安全证书服务

好了,至于如何购买,如何签发,这里就不做过多的详情。傻瓜操作,跟淘宝下单一样,老太太都会。当然,这里要注意的一点是,证书不会立即签发,配置好以后,需要稍等片刻(一般10-30分钟的样子,有时候更快)。

配置SSL证书

推送CDN

因为使用了阿里云的CDN,阿里云证书也提供了相关的推送服务。点击列表推送按钮,如下:

精品推荐!Nginx配置阿里云盾SSL安全证书服务

下载证书

审核通过后即可以下载各种Web服务器都提供了相应的证书,点击列表下载,如下:

精品推荐!Nginx配置阿里云盾SSL安全证书服务

配置Nginx

上传证书到执行目录,阿里云有相对应的Nginx配置模板,对着改即可以了。因为小编是针对公司的程序的少量配置,可能不尽相同,如下是相关conf配置:

server{

#监听的443端口

listen 443;

server_name wcms.xtechnology.com.cn;

index index.php;

ssl on;

#证书路径 替换成自己的就ok

ssl_certificate /usr/local/nginx/cert/wcms.xtechnology.com.cn.pem;

#私钥路径

ssl_certificate_key /usr/local/nginx/cert/wcms.xtechnology.com.cn.key;

#缓存有效期

ssl_session_timeout 5m;

#可选的加密算法,顺序很重要,越靠前的优先级越高.

ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;

#安全链接可选的加密协议

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

ssl_prefer_server_ciphers on;

root /mnt/www/domains/wcms.xtechnology.com.cn;

error_page 404 /404.html;

#Custom rules Start

if (-f $request_filename/index.html){

rewrite (.*) $1/index.html break;

}

if (-f $request_filename/index.php){

rewrite (.*) $1/index.php;

}

if (!-f $request_filename){

rewrite (.*) /index.php;

}

#Custom rules End

location = /500.html {

root /usr/share/nginx/html;

}

location ~ \.php$ {

fastcgi_pass 127.0.0.1:9000;

include fastcgi_params;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

access_log /usr/local/nginx/logs/blog.52itstyle.com.access.log main;

}

location ~ /\.ht {

deny all;

}

}

提醒:

因为Chrome浏览器对HTTPS要求较高,其余浏览器已经显示小绿锁,但是Chrome还是有警告提醒。这时候你只要F12查看,假如存在url连接还是http请求谷歌下就不会显示小绿锁。

  • 假如使用了第三方模版,则更改 cdn镜像地址改成https的域名。

  • 假如你使用的是原生评论,评论表单的action地址还是HTTP,找到站点主题目录下的comments.php文件,并搜索$this->commentUrl(),将其替换为:echo str_replace(“http”,”https”,$this->commentUrl()); 最后保存(还好使用的是畅言,已经接入HTTPS了)。

  • 阿里云的CDN 400地址居然是HTTP,显然不符合要求,暂时去掉了。

  • 以前是HTTP,所以还要替换一下数据库部分内容,执行以下语句(替换成自己的URL就可)

HTTP重定向到HTTPS

好了,到此为止,重启Nginx,你的网站已经可以跑在HTTPS上面了。但是这样HTTP的方式还是可以访问的,我们可以通过WEB服务器(Ningx)将80端口(HTTP)重定向到443端口(HTTPS),强制全站HTTPS。

server {

listen 80;

server_name crm.xtechnology.com.cn;

rewrite ^/(.*) https://crm.xtechnology.com.cn/$1 permanent;

}

server {

listen 443 ssl;

server_name crm.xtechnology.com.cn;

配置成功

按照以上流程,基本不会出现问题了,清理浏览器缓存访问下自己的网站,浏览器会显示安全的小绿锁标识。

精品推荐!Nginx配置阿里云盾SSL安全证书服务

好了,配置成功以后,有没有一种被绿绿的感觉?

精品推荐!Nginx配置阿里云盾SSL安全证书服务

有时候就要敢于背上超出自己意料的包袱,真的努力后,你会发现自己要比想象的优秀很多。

希望大家多多支持,小编致力推荐精品,共享给大家学习交流。也欢迎大家随时留言回复,谢谢大家!

Ps:假如此文为您带来欢乐,那就关注小编吧。每天精品准时推送!

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 精品推荐!Nginx配置阿里云盾SSL安全证书服务

发表回复