首页 > 其他分享 >23.04.06_为博客设置https

23.04.06_为博客设置https

时间:2023-04-09 16:12:13浏览次数:58  
标签:index 06 ssl 23.04 证书 nginx html https

title: 为博客设置https协议
categories:
	- 博客优化
date: 2023-04-06
url_dir: Blog_optimization
url_name: setting_https

博客优化内容

http协议的网站总是显示不安全,为了开启小绿锁,在这里准备部署https协议。我的博客是hexo架构,部署在阿里云上的。

阿里云首页中选择 产品 -> 安全 -> 数字证书管理服务(原SSL证书) -> 选购SSL证书

选择免费证书

image-20230406194506999

点击立即购买

image-20230406194606585

个人可以获得20个免费的证书

然后创建一个证书,点击证书申请,填写你的域名,姓名信息后向CA提交申请。待申请成功后,下载证书,然后按照根据你部署方式的不同查阅帮助,在服务器端进行部署

image-20230406195102462

我用的是nginx所以这里以nginx为例,nginx的部署分为虚拟主机和独立主机的区别,首先在服务器端判断你的机器属于哪一类,我的服务器是ECS服务器,属于独立主机,刚刚申请到的SSL证书即是阿里云的云盾证书。

将下载的压缩包中的两个文件上传到服务器,上传的目录为 /etc/nginx/cert/

运行 nginx -t 命令查看你的nginx配置文件路径。打开配置文件

nginx -t
# nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
# nginx: configuration file /etc/nginx/nginx.conf test is successful

vim /etc/nginx/nginx.conf

http{} 内添加以下配置,这里添加的是443端口的配置

#以下属性中,以ssl开头的属性表示与证书配置有关。
server {
    #配置HTTPS的默认访问端口为443。
    #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
    #如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
    listen 443 ssl;

    #填写证书绑定的域名
    server_name <yourdomain>;
    root html;
    index index.html index.htm;

    #填写证书文件名称
    ssl_certificate cert/<cert-file-name>.pem;
    #填写证书私钥文件名称  
    ssl_certificate_key cert/<cert-file-name>.key;

    ssl_session_timeout 5m;
    #表示使用的加密套件的类型
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    #表示使用的TLS协议的类型,您需要自行评估是否配置TLSv1.1协议。
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;

    ssl_prefer_server_ciphers on;
    location / {
        #Web网站程序存放目录
        root html;
        index index.html index.htm;
    }
}

若你想将所有http访问自动跳转到https,可以将下面的代码添加到servers{}代码段 后面,当然如果你已经配置了80端口,可以将配置的一部分放到80端口的servers中

server {
    listen 80;
    #填写证书绑定的域名
    server_name <yourdomain>;
    #将所有HTTP请求通过rewrite指令重定向到HTTPS。
    rewrite ^(.*)$ https://$host$1;
    location / {
        index index.html index.htm;
    }
}

重启nginx服务

nginx -s reload

参考链接

[1] Hexo 网站配置免费阿里云证书

[2] 证书部署

标签:index,06,ssl,23.04,证书,nginx,html,https
From: https://www.cnblogs.com/lantary/p/17294325.html

相关文章

  • 【2023-04-06】本钱养料
    20:00有一种方法能让你睁开眼睛,去发现那些被忽略的美好,那就是问问你自己:“如果这是我以前从未见过的呢?如果我知道以后再也不会见到它了呢?”                                          ......
  • 06算术运算符和习题
    算数运算符建议:给符号两端预留空格+-*/除%求余,取模在生活中23除7等于3余2代码中23/7=323%7=2例子:publicstaticvoidmain(String[]args){//46天,包含了几周零几天intweeks=46/7;intdays=46%7;System.out.pr......
  • 2023.04.08 定时测试随笔
    T2[ZJOI2007]时态同步传送门:luoguP1131题目要求我们用最少的代价使根节点到每个叶子节点的距离相等那如何使代价最小呢,对于下面这种情况对于有同一个父亲节点的两个叶子节点,一个的代价为5,一个代价为3,他们都加了一个代价3,这样我们可以把3加到父亲节点到根节点的树枝上,这......
  • 2023.04.08 定时测试随笔
    T1[NOIP2006提高组]作业调度方案(模拟)传送门:luoguP1131约束条件:对于同一个工件,第\(i\)道工序必须要在第\(i-1\)道工序结束之后才能开始一个机器每一刻只能加工一道工序必须要按照题目给的顺序安排下一个工序关于安排顺序:一个非常神器的东西考试的时候......
  • 06.项目范围管理
    1.范围管理概述1.1.项目范围需要做以下三个方面1、明确项目边界,即明确哪些工作是包括在项目范围之内的,哪些工作是不包括在项目范围之内的。2、对项目执行工作进行监控,确保所有该做的工作都做了,而且没有多做。对不包括在项目范围内的额外工作说“不”杜绝做额外工作。......
  • 力扣1069(MySQL)-产品分析Ⅱ(简单)
    题目:编写一个SQL查询,按产品idproduct_id来统计每个产品的销售总量。查询结果格式如下面例子所示: 解题思路:没有用到product表,直接在sales表中使用聚合函数:1selectproduct_id,sum(quantity)astotal_quantity2fromsales3groupbyproduct_id;......
  • 力扣1068(MySQL)-产品销售分析Ⅰ(简单)
    题目:销售表 Sales: 产品表 Product:写一条SQL 查询语句获取Sales 表中所有产品对应的产品名称product_name以及该产品的所有售卖年份year 和价格price。查询结果中的顺序无特定要求。查询结果格式示例如下: 来源:力扣(LeetCode)链接:https://leetcode.cn/proble......
  • 2023.04.07 - 前端常用解决跨域问题的方案
    JSONP:JSONP(JSONwithPadding)是一种前端跨域请求的方式,它利用了HTML中的<script>标签没有跨域限制的特点,通过动态创建<script>标签,构造一个特殊的URL,让服务端返回一段指定的JavaScript代码,然后在本地执行这段代码以达到跨域请求数据的目的。JSONP具有兼容性好、简单易......
  • 2023.04.07 - 用jQuery发起JSONP请求时jsonpCallback和success的回调区别在哪?
    在使用jQuery发起跨域请求时,可以通过指定dataType为jsonp来实现JSONP跨域请求。此时,jQuery会自动生成一个回调函数,并将其作为参数发送给服务器。服务器需要将返回数据包装在回调函数中,以便于客户端解析。以下是一个简单的jQuery实现JSONP跨域请求的示例:$.ajax({......
  • 106. 从中序与后序遍历序列构造二叉树 105. 从前序与中序遍历序列构造二叉树
    给定两个整数数组inorder和postorder,其中inorder是二叉树的中序遍历,postorder是同一棵树的后序遍历,请你构造并返回这颗二叉树。classSolution{public:TreeNode*buildTree(vector<int>&inorder,vector<int>&postorder){if(postorder.size()==0)......