最近又到了课程设计的时候,我们学的是JSP & Servlets,然后课程设计要求做一个系统,我就想着用Java做后端写个微信小程序。
经过对微信小程序的了解,发现现在微信小程序只允许通过https来访问后端网站,再加上最近看到很多的朋友都用上了SSL,所以我也决定给博客加一个SSL。
经过一系列的信息收集,以及查看其他人的经验贴,我开始了对本站进行https的升级之旅。
第一步:获取SSL证书
首先,先去腾讯云平台做一个实名认证。然后就可以申请免费的证书了。
- 访问https://console.cloud.tencent.com/ssl
- 点击申请证书
- 选择证书类型(这里只能选择这个免费的DV SSL证书)
- 填写相关信息
- 进行域名认证,这个过程也很简单,有三种验证方式,可以选择其中的一种,我这里选择的是自动dns认证
- 等待证书颁发
- 哈哈?你以为到这里就完了?下面的步骤难度可大得多了!
第二步:下载SSL证书
上面步骤审核通过之后,你就可以下载到SSL证书
下载到的压缩包里有三个内容,根据你服务器的反向代理软件来进行不同的部署
这里我介绍的是nginx的部署。
把这个文件上传到你的服务器中,并记录下其路径
第三步:Nginx部署SSL证书
这里你需要找到你的nginx的配置目录,找到其配置文件nginx.conf
修改里面的代码片段如下:
server { listen 80; server_name www.lscx.org; return 301 https://www.lscx.org$request_uri; } server { listen 443; server_name www.lscx.org; access_log /data/wwwlogs/access_nginx.log combined; root /home/wwwroot/www.lscx.org; index index.html index.htm index.php; ssl on; ssl_certificate /usr/local/nginx/conf/cert/1_www.lscx.org_bundle.crt; ssl_certificate_key /usr/local/tengine/conf/cert/2_www.lscx.org.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置 ssl_prefer_server_ciphers on; location / { 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; } } location /nginx_status { stub_status on; access_log off; allow 127.0.0.1; deny all; } location ~ [^/]\.php(/|$) { #fastcgi_pass remote_php_ip:9000; fastcgi_pass unix:/dev/shm/php-cgi.sock; fastcgi_index index.php; include fastcgi.conf; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ { expires 30d; access_log off; } location ~ .*\.(js|css)?$ { expires 7d; access_log off; } }
我来解释一下,第一块server是将http访问重定向到https,而第二块server则是部署的关键部分,你需要修改的就是上面代码中加粗的部分,把你的服务器的相关配置改上去即可使用。
注意:代码中红色字体的部分需要填写你的证书以及key在服务器中的绝对路径,也就是第二步中要求你记录下的那个路径。
再者,代码中的location的设置是为了wordpress的固定链接,如果你没有配置这一项的话,类似我这种固定链接的帖子将无法访问。
以上代码更改完成之后,你需要找到nginx的源程序先使用:
nginx -t
检测语法是否正确
若无报错则运行:
nginx -s reload
进行配置的重新加载。
加载结束后访问你的网站即可实现https。
第四步:安装WordPress插件集中更新博客链接
因为我们使用的是WordPress,所以有一些博文的链接还没有来得及转变过来,你可以直接通过SQL语句操作数据库进行相关链接的升级,但是这里推荐一个更简单的方法。
安装名为【Velvet Blues Update URLs】的插件,实现链接的批量替换。
安装插件后在wordpress后台-工具-Updates URLs进行URL更新的设置
至此,SSL的部署过程全部完成,效果呢,你可以直接看本站目前的访问方式。
此外,这里还有个大坑,就是你如果使用了加速乐这种不支持443端口的CDN,会导致以上的配置失败,所以请先关闭这类CDN或者直接购买其支持443端口的CDN服务。
——————————————–
写在最后:
明天15级的学长学姐们就要考研了,祝他们考研成功。
不过明年的这个时候我也要踏上考研的考场,剩下的这一年好好准备吧,加油!祝我自己考上心中理想的学校。
非常不错了,看看参照博主的教程申请成功了
很不错的教程,已经根据楼主的文章成功申请了SSL证书,期待楼主的下一次更新~
感谢分享,谢谢站长!!
不错不错,支持一下!
不错不错,来看看。。