• 网站由http升级为https图文教程


    网站由http升级为https图文教程

    本文是基于凯哥个人网站由http升级为https的记录。

    前提说明:凯哥网站在AliYun备案的。所以基于此创建的。如果是腾讯云备案的域名也是类似的。

    名词解释:

    HTTP与HTTPS是什么?

    HTTP协议(超文本传输协议)是互联网上应用最为广泛的一种网络协议,常被用于在web浏览器和网站服务器之间传递信息,http协议传输数据是以明文方式进行传送,如果中途被截获,就可以读取其中的信息。还记得之前公司某一台医疗设备的登录界面被截获,页面上都是广告的情况。

    为了解决HTTP协议的这一缺陷,就延伸出HTTPS协议 (安全套接字层超文本传输协议),HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,为web浏览器和服务器之间的通信数据进行加密。

    HTTPS协议的主要作用分为两种:

    建立一个信息安全通道,来保证数据传输的安全

    确认网站的真实性。

    HTTP与HTTPS有什么区别

    https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

    http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。

    http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

    http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比

    证书申请流程:

    1:在阿里云或者是腾讯云都有免费证书的。(注:因为凯哥备案在阿里云。所以就基于AliYun申请的。)

    2:登录阿里云-控制台-产品与服务-搜索SSL。如下图:

    编辑

    点击SSL证书(应用安全)后前往购买页。如下图:

    编辑

    选择:云盾证书资源包。如下图:

    编辑

    选择免费证书扩容包。如下图:

    编辑

    说明:一个自然年内可以领取一次数量为20的免费证书资源包。到自然年结束后,会自动清除.每个自然年是12月31日24:00

    立即购买:

    编辑

    购买成功后,等了管理控制台:

    编辑

    就可以看到证书资源包了。然后点击证书申请,就可以在下面证书管理列表中看到,新增加一条数据。如下图:

    编辑

    然后点击证书申请。会打开填写申请。如下图:

    编辑

    说明:

    证书绑定域名:就是你需要绑定的域名

    联系人和所在地,选择后,就可以。CRS生成方式不用修改。

    填写完成后,会进入到验证信息。如下图:

    编辑

    因为在上一步【CRS生成方式不用修改】我们选择的不是手动。所以,可以直接提交审核。

    提交审核很快的。也就1-2分钟吧。如下图:

    编辑

    选择需要部署的域名后,选择下载。会打开具体部署方式的证书。然后选择对应的下载就可以。因为凯哥使用的是Nginx。所以下载的是Nginx的。如下图:

    编辑

    下载的是一个zip压缩包。将压缩包解压后,就可以得到对应的以PEM和KEY结尾的两个文件。如下图:

    编辑

    Nginx部署:

    上传证书:

    将解压得到的两个文件上传到服务器上。

    如凯哥的上传目录:/usr/local/nginx/ssl/lingquan

    说明:其中的lingquan是凯哥其中一个网站。如果有多个可以这样区分。

    在Nginx的配置文件中配置:

    因为凯哥使用的是宝塔面板。所以在宝塔面板对应网站之间修改。如下图:

    编辑

    如果没有443的server节点添加。如果有,按照如下配置:

    server {

    listen 443 ssl;

    server_name 你的域名;

    root 你的项目根;

    index index.html;

    ssl_certificate /usr/local/nginx/ssl/xxx/xxx.pem;

    ssl_certificate_key /usr/local/nginx/ssl/xxx/xxx.key;

    ssl_session_timeout 5m;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

    ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;

    ssl_prefer_server_ciphers on;

    }

    如下图:

    编辑

    说明:
    ssl_certificate:是PEM文件的绝对路径

    ssl_certificate_key:是KEY文件的绝对路径。

    配置完成之后,重启Nginx。然后验证。使用https访问下你的域名。

    验证是否配置成功

    编辑
    编辑

    可以看到使用https访问的时候,有个绿色的小锁。说明配置成功

    http强制跳转到https配置:

    有的时候,我们需要将http访问强制跳转到https的。配置如下:

    server {

    listen 80;

    server_name 你到域名;

    return 301 https://$host$request_uri;

    }

    编辑
  • 相关阅读:
    python 学习之集合 三元运算 深浅拷贝
    python 学习之数据类型和for循环
    python 学习之运算符
    python 学习之编码转换和pycharm设置
    python 学习之python数据类型和流程控制
    Django实现下载文件名称为中文的处理
    递归删除postgresql数据库中所有表
    GO编程(打卡)-Task13: 并发编程
    GO编程(打卡)-Task12: 单元测试
    GO编程(打卡)-Task11: 反射机制
  • 原文地址:https://www.cnblogs.com/kaigejava/p/14434670.html
Copyright © 2020-2023  润新知