昨天闲来无事,浏览了自己的网站,网站也是用来记录自己技术成长的一部分,权当笔记了,可是发现,打开chrome浏览器,地址栏显示安全,感觉体验非常不好,所以就有了升级https的念头,然后上网查了下,阿里云居然有免费的https,具体申请步骤如下:
登录阿里云-->安全(云盾)-->SSL 证书,点击购买按钮
2.选择Symantec,然后点击证书类型, 证书类型都要点击一遍,直到免费型DV SSL 出现,然后选择它即可
4.支付 (0元)
5.支付后会看到一条状态为“待完成”的记录,此时千万别以为就可以等待阿里云审核了,其实后面还是有资料要填写的。
6.选择 补全,并填写相应信息。真实填写就可以了。包括:域名、姓名、邮箱等等。因为我的域名是托管到阿里云解析服务的,我的认证方式DNS解析认证
此时有两个情况,第一种 勾选 证书绑定的域名在[阿里云的云解析]产品中,授权系统自动添加一条记录以完成域名授权验证,由于本人的域名是在阿里云购买的,所以直接勾选,就不用管了,等待审核成功。
7,大概10几分钟就审核成功了,审核成功后,回到阿里云控制台-左侧菜单产品与服务-SSL 证书,然后我们会看到一条记录
点击 下载,然后回看到
各种应用服务器的配置方法,由于本人网站前置应用代理服务器为nginx,所以在这里晒下nginx如何配置。
1,下载证书,
文件说明:
1. 证书文件214946321510834.pem,包含两段内容,请不要删除任何一段内容。
2. 如果是证书系统创建的CSR,还包含:证书私钥文件214946321510834.key。
( 1 ) 在Nginx的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为214946321510834.key;
如果忘记了nginx的安装目录,执行命令 ps -ax|grep nginx 即可看到
( 2 ) 打开 Nginx 安装目录下 conf 目录中的 nginx.conf 文件,找到:
# HTTPS server # #server { # listen 443; # server_name localhost; # ssl on; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_timeout 5m; # ssl_protocols SSLv2 SSLv3 TLSv1; # ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; # ssl_prefer_server_ciphers on; # location / { # # #} #}
( 3 ) 将其修改为 (以下属性中ssl开头的属性与证书配置有直接关系,其它属性请结合自己的实际情况复制或调整) :以www.vxzsk.com为例
server { listen 443 ssl; server_name www.vxzsk.com vxzsk.com; ssl_certificate cert/214946321510834.pem; ssl_certificate_key cert/214946321510834.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; location / { #root /usr/share/nginx/html; root /usr/local/tomcat/webapps/ROOT/; proxy_pass http://101.280.108.78:9999; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host:$server_port; index index.html index.htm; } }
第6、7行是我们在第一步上传的证书位置
上述证书的server配置好之后,还有个80端口的server
server { listen 80 default_server; server_name www.vxzsk.com vxzsk.com; #301 跳转 if ($host != 'https://www.vxzsk.com' ) { rewrite ^/(.*)$ https://www.vxzsk.com/$1 permanent; }
如上述代码,80端口同时做了301跳转,再次提醒,我这里配置了两个server,一个是80端口的,一个是443证书端口。
保存退出。
( 4 )重启 Nginx。
/etc/init.d/nginx restart
或者
service nginx restart
生效如下: