nginx lnmp集成包下老网站升级HTTPS配置SSL详细教程

  • A+
所属分类:环境配置

当博客申请为ssl时,就逐渐的让身边的开始也把网站转成HTTPS,一方面这是未来的走向,另一方面安全系数有所提高,再来专业,好看。

科普贴包含:

从零开始搭建服务器环境创建网站配置ssl证书(https)

阿里云CDN更新ssl证书详细教程

老网站升级HHTPS

本次更新的是朋友的两个网站,一个是企业官网(https://www.xinmeike.cn),一个是个人的渣博客(https://www.liuminhua.com)

服务器本身是用lnmp集成环境包撸的网站,所以主要的几个操作如下:

1、删除原网站的配置文件

  1. lnmp vhost del
  2. //会列出所有虚拟机
  3. Please enter domain you want to delete: www.xinmeikeji.cn  //删除需要重新配置的虚拟机

2、上传ssl证书

关于证书,可以在各大IDC中去申请,个人免费版的多的是,至于哪个好哪个不好,仁者见仁智者见智,这里不扩展阅读。

3、新增网站配置文件

  1. lnmp vhost add  //添加虚拟机
  2. +-------------------------------------------+
  3. |    Manager for LNMP, Written by Licess    |
  4. +-------------------------------------------+
  5. |              https://lnmp.org             |
  6. +-------------------------------------------+
  7. Please enter domain(example: www.lnmp.org): www.xinmeikeji.cn  //输入域名
  8.  Your domain: www.xinmeikeji.cn
  9. Enter more domain name(example: lnmp.org *.lnmp.org):  //输入其他域名,如没有直接回车
  10. Please enter the directory for the domain: www.xinmeikeji.cn
  11. Default directory: /home/wwwroot/www.xinmeikeji.cn:  //默认目录创建在home下,可以选择其他的目录地址,但一定是绝对位置。
  12. Virtual Host Directory: /home/wwwroot/www.xinmeikeji.cn
  13. Allow Rewrite rule? (y/n) n //是否开启伪静态
  14. You choose rewrite: none
  15. Allow access log? (y/n) n  //是否开始日志
  16. Disable access log.
  17. Create database and MySQL user with same name (y/n) n  //创建数据库
  18. Create ftp account (y/n) n //创建FTP
  19. Add SSL Certificate (y/n) y //增加SSL
  20. 1: Use your own SSL Certificate and Key  //自己有证书
  21. 2: Use Let's Encrypt to create SSL Certificate and Key  //使用 Let's Encrypt证书, Let's Encrypt需要每三个月申请一次,www.lijinlong.cc博客用的就是这个,再开启CDN的话,要每三个月搞下
  22. Enter 1 or 21 //选择1
  23. Please enter full path to SSL Certificate file: /home/*****/ssl/www.xinmeikeji.cn.crt  //输入crt文件的绝对地址,证书是腾讯云申请的个人免费版
  24. Please enter full path to SSL Certificate Key file: /home/*****/ssl/www.xinmeikeji.cn.key //输入key文件的绝对地址
  25. Press any key to start create virtul host...  //按任意键创建成功

4、完成。

现在查看网站即可看到,网站是可以使用HTTPS打开。

5、强制http跳转至https

  1. cd /usr/local/nginx/conf/vhost  //进入虚拟机
  2. vi www.xinmeikeji.cn.conf //使用vi编辑器,对内容进行修改编辑
  3. //使用vi编辑器输入I,表示插入状态
  4. server {
  5.     listen 80;
  6.     server_name www.xinmeikeji.cn;
  7.     rewrite ^(.*)$ https://${server_name}$1 permanent;  //跳转
  8. }
  9. server {
  10.     listen 443;
  11.     server_name www.xinmeikeji.cn;
  12.     root /home/wwwroot;
  13.     ssl on;
  14.     ssl_certificate /etc/nginx/certs/server.crt;
  15.     ssl_certificate_key /etc/nginx/certs/server.key;
  16.     ....
  17. }
  18. :wq  //使用vi编辑器需要按下ESC,退出编辑状态,输入:wq 意思为保存并关闭内容

6、修改配置文件后,需要重新启动nginx(1-2秒的事)

  1. /etc/init.d/nginx restart

HTTPS没有提示安全,只有感叹号是怎么回事?

nginx lnmp集成包下老网站升级HTTPS配置SSL详细教程

其实这个主要问题来源于网页当中有http的绝对地址,当页面中出现http://www.xinmeikeji.cn的时候,就无法直接显示安全的那个绿标。也可以通过右键审查元素,查看Console的报错内容

nginx lnmp集成包下老网站升级HTTPS配置SSL详细教程

修改上述文件的绝对地址后,网站即可显示安全。

本文完,感谢刘总提供网站做实验田。

 

李金龙

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: