记录将网站从http升级https

news2025/5/25 16:59:57

http与https

你知道http是什么吗,那你知道https吗?在进行升级之前我们应该都听说http不安全,要用https,那你知道这是为什么吗?

什么是http?

HTTP 是超文本传输协议,也就是HyperText Transfer Protocol。是一种在计算机之间传输超文本的一种约定与规范。

  • 超文本:文字、音乐、图片、视频、HTML文件等
  • 传输:可以在两者之间互相传递数据
  • 协议:一个在计算机之间通信的一种规范。

http状态码

分类状态码含义典型场景
1xx 信息性100服务器已接收请求第一部分,客户端可继续发送剩余部分上传大文件时分段发送请求体
101服务器切换协议(如 HTTP → WebSocket)客户端请求升级协议(如 WebSocket 连接)
2xx 成功200请求成功,返回正常响应内容常规接口调用成功(如获取数据、查询操作)
201请求成功并创建新资源用户注册、文件上传成功后返回新资源 URL
202服务器已接受请求,但尚未完成处理(异步操作)提交后台任务(如批量数据处理)
204请求成功但无响应内容删除资源后无需返回数据
206成功处理范围请求,返回部分资源视频分片下载、大文件断点续传
3xx 重定向301资源永久重定向至新 URL域名变更(如旧域名永久跳转到新域名)
302/307资源临时重定向至新 URL表单提交后跳转至结果页面(避免重复提交)
303请求响应需跳转到另一个 URL(常用于 POST → GET 跳转)POST 请求后返回 GET 结果页面(如提交表单后显示详情页)
304资源未修改,直接返回缓存内容客户端携带缓存标识(如 If-None-Match)请求静态资源
4xx 客户端错误400客户端请求语法错误或参数无效发送无效 JSON 格式、缺少必填参数
401未授权(需身份验证)未提供 Token、Token 过期或无效
403禁止访问(已认证但无权限)用户无权限访问资源(如普通用户尝试访问管理员页面)
404资源不存在URL 路径错误、资源已删除
405不支持请求方法对仅支持 GET 的接口发送 POST 请求
413请求体过大上传文件超过服务器限制大小
414URI 过长请求的 URL 地址超出服务器处理范围
429请求频率过高(触发限流)短时间内多次调用接口(如恶意攻击或未作限流控制)
5xx 服务器错误500服务器内部未知错误代码异常、数据库连接失败、配置错误
502网关错误(上游服务器响应无效)代理服务器(如 Nginx)无法获取后端服务的正常响应
503服务不可用(临时维护或过载)服务器停机维护、并发量过高导致崩溃
504网关超时(上游服务器响应超时)后端服务处理缓慢,代理服务器等待超时

为什么有https?

由于Http是明文传输,存在安全风险。

  • 容易被窃听
  • 容易被篡改
  • 容易被冒充
    所以需要Https来保证传输过程的安全性,Https在Http与TCP层之间加入了SSL/TLS协议,来解决Http存在的安全风险。

Https是如何保证安全的?

  • 混合加密——>窃听
  • 摘要算法——>完整性
  • 数字证书——>冒充

1.混合加密
Https采用的是对称加密和非对称加密的结合方式:

  • 在通信建立前采用非对称加密的方式交换「会话秘钥」,后续就不再使用非对称加密。
  • 在通信过程中全部使用对称加密的「会话秘钥」的方式加密明文数据。
  1. 数字签名
    为了保证传输的内容不被篡改,我们需要对内容计算出一个「指纹」(用摘要算法(哈希函数)来计算出内容的哈希值),然后同内容一起传输给对方,接收方接收到之后采用同样的方法得到🫆,和发送方的指纹对比。但是存在一个问题如果指纹和内容都被替换了,这个方法不就失效了。所以我们需要通过非对称加密(一个公钥(公开),一个私钥(私有)算法来解决这个问题。
  • 公钥加密,私钥解密。这个目的是为了保内容传输的安全。
  • 私钥加密,公钥解密。这个目的是为了保证消息不会被冒充。
  1. 数字证书
    保证公私钥不会被替换,由第三人CA数字认证机构颁发。数字证书是由权威证书颁发机构(CA)签发的电子文件,用于证明通信实体(如服务器、用户)的身份合法性,并安全传递公钥以保障网络通信的加密性和数据完整性。

http和https有什么不同?

HTTP 与 HTTPS 的对比总结表格:

对比项HTTPHTTPS
全称超文本传输协议(HyperText Transfer Protocol)超文本传输安全协议(HyperText Transfer Protocol Secure)
端口默认 80默认 443
安全性明文传输,不安全加密传输(SSL/TLS 层),安全
加密层基于 SSL/TLS 协议
证书要求无需 CA 证书需要 CA 颁发的数字证书(服务器验证)
URL 前缀http://https://
默认情况传统网站常用现代网站默认启用(尤其涉及隐私数据场景)
性能影响无加密开销,速度更快存在加密/解密开销,可能稍慢(可通过 TLS 1.3 优化)
SEO 友好性无特殊优势搜索引擎(如 Google)优先索引
适用场景公开信息浏览(如新闻、静态页面)敏感数据传输(如登录、支付、个人信息)
协议层级应用层协议应用层协议(基于传输层 SSL/TLS 封装)
信任机制无服务器身份验证通过数字证书验证服务器身份

网站从http升级为https

SSL证书申请

  1. 先申请一个SSL证书,就是前面提到的数字证书,可以从FreeSSL申请一个免费的证书,按照教程操作即可。
  2. 申请过程中会要求将主机记录值添加到域名解析当中进行验证。
  3. 验证通过之后下载证书

安装证书

将解压后的证书文件都上传到服务器Nginx的conf目录下的cert目录下,如果没有cert,则自己新建一个即可。

配置nginx.conf,使证书生效

修改nginx.conf文件
在这里插入图片描述

server {
        listen       443 ssl;
        server_name  yuhaohub.cn;

        ssl_certificate      cert/full_chain.pem;
        ssl_certificate_key  cert/private.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;

        root /var/www-data/yhxtapi;
        index index.html index.php;
        location / {
            # 建议添加默认代理规则或索引页处理
            try_files $uri $uri/ /index.php$is_args$args;
        }

        # 可选:添加 PHP 解析规则(若有动态页面)
        # location ~ \.php$ {
        #     fastcgi_pass unix:/run/php/php-fpm.sock;
        #     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        #     include fastcgi_params;
        # }
    }

重载Nginx配置

# 平滑重启(不中断服务)
nginx -s reload

注意事项

如果你的项目使用了 axios 等 HTTP 客户端,建议在全局配置中统一处理 API 域名:
// 创建axios实例时设置baseURL
const instance = axios.create({
  baseURL: '/', // 相对路径,自动使用当前协议
  // 或显式指定HTTPS
  // baseURL: 'https://yuhaohub.cn/'
});

// 然后使用实例发送请求
instance.get('/api/notice/pull');

网站升级成功

在这里插入图片描述

小结

在升级过程会碰到各种问题,大家耐心解决就行,最关键的Nginx的配置文件编写问题,大家细心一点就好了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2385475.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

免费PDF工具-PDF24V9.16.0【win7专用版】

【百度】https://pan.baidu.com/s/1H7kvHudG5JTfxHg-eu2grA?pwd8euh 提取码: 8euh 【夸克】https://pan.quark.cn/s/92080b2e1f4c 【123】https://www.123912.com/s/0yvtTd-XAHjv https://creator.pdf24.org/listVersions.php

一周学会Pandas2 Python数据处理与分析-Pandas2数据合并与对比-pd.concat():轴向拼接

锋哥原创的Pandas2 Python数据处理与分析 视频教程: 2025版 Pandas2 Python数据处理与分析 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 在数据分析中,数据往往分散在多个来源(如不同文件、数据库表或API),需…

安卓原生兼容服务器

安卓原生兼容服务器的定义 安卓原生兼容服务器‌指基于Android系统内核和服务框架构建的服务器环境,能够在不依赖第三方适配层的情况下,直接运行符合Android API规范的服务程序,并满足与其他软硬件组件的协同工作需求。其核心特征体现在以下…

优化用户体验:拦截浏览器前进后退、刷新、关闭、路由跳转等用户行为并弹窗提示

🧑‍💻 写在开头 点赞 收藏 学会🤣🤣🤣 需求 首先列举一下需要拦截的行为,接下来我们逐个实现。 浏览器前进后退标签页刷新和关闭路由跳转 1、拦截浏览器前进后退 这里的实现是核心,涉及到大…

大学生创新创业项目管理系统设计——数据库实验九

本实验为自己设计完成,我当年数据库实验得了94分 目录 1.实验目的 2.实验内容和要求 3.实验步骤 4.实验心得 实验九 数据库设计 1.实验目的 掌握数据库设计的过程和方法。 2.实验内容和要求 (35)大学生创新创业项目管理系统设计 一…

电磁场与电场、磁场的关系

电磁场与电场、磁场之间存在着深刻的内在联系和统一性关系。这三者共同构成了电磁相互作用的基本框架,是理解电磁现象的关键所在。 电场和磁场实际上是电磁场的两个不同表现形式,它们既相互区别又密切联系。电场主要由静止电荷产生,表现为对…

Python爬虫实战:研究Newspaper框架相关技术

1. 引言 1.1 研究背景与意义 互联网的快速发展使得新闻信息呈现爆炸式增长,如何高效地获取和分析这些新闻数据成为研究热点。新闻爬虫作为一种自动获取网页内容的技术工具,能够帮助用户从海量的互联网信息中提取有价值的新闻内容。本文基于 Python 的 …

Kotlin MultiPlatform 跨平台版本的记账 App

前言 一刻记账 KMP (Kotlin MultiPlatform) 跨平台版本今天终于把 Android 和 iOS 进度拉齐了. 之前只有纯 Android 的版本. 最近大半年有空就在迁移代码到 KMP 上 中间学了 iOS 基础知识. xcode 的使用. 跨平台的架构的搭建… 感觉经历了很多很多. 一把辛酸泪 迁移的心路历…

PIO 中的赋值魔术,MOV 指令

前言 在普通编程语言中,mov 可以理解为“赋值指令”,将一个值从一个地方拷贝到另一个地方。在 RP2040 的 PIO 汇编语言中,mov 同样是数据传递的关键指令,但它操作的是 PIO 独有的几个寄存器。 在 PIO 中,你可以用 mov …

第十七次CCF-CSP算法(含C++源码)

第十七次CCF-CSP认证 小明种苹果AC代码 小明种苹果&#xff08;续&#xff09;AC代码 后面好难哈哈 小手冰凉 小明种苹果 输入输出&#xff1a; 题目链接 AC代码 #include<iostream> using namespace std; int n,m; int res,res3; int sum; int res21; int main(){cin …

打造一个支持MySQL查询的MCP同步插件:Java实现

打造一个支持MySQL查询的MCP同步插件&#xff1a;Java实现 用Java实现一个MCP本地插件&#xff0c;直接通过JDBC操作本地MySQL&#xff0c;并通过STDIO与上层MCP客户端&#xff08;例如Cursor&#xff09;通信。插件注册一个名为mysql 的同步工具&#xff0c;接收连接参数及SQL…

黑马k8s(十五)

1.Ingress介绍 2.Ingress使用 环境准备 Http代理 Https代理

解决 cursor 中不能进入 conda 虚拟环境

【问题】 遇到一个小问题&#xff0c;我创建的conda 环境在 cmd、powershell中都可以激活&#xff0c;但在pycharm、cursor中却不能激活&#xff1f; 看图 cmd中正常&#xff1a; cursor中不正常&#xff1a; 【解决方法】 cursor 中&#xff0c;打开终端&#xff0c;输入&a…

C++ 实现二叉树的后序遍历与中序遍历构建及层次遍历输出

C 实现二叉树的后序遍历与中序遍历构建及层次遍历输出 目录 C 实现二叉树的后序遍历与中序遍历构建及层次遍历输出一、实验背景与目标二、实验环境三、实验内容四、数据结构与算法数据结构算法描述1. **构建二叉树函数 buildTree**2. **层次遍历函数 LevelOrder** 关键代码与解…

虚拟环境中的PyQt5 Pycharm设置参考

假如虚拟环境名是p3939 里面安装了pyqt5相关的库 1.QtDesigner Qt Designer 是通过拖拽的方式放置控件&#xff0c;并实时查看控件效果进行快速UI设计 位置 内容 name 可以随便命名&#xff0c;只要便于记忆就可以&#xff0c;本次采取通用…

AUTOSAR图解==>AUTOSAR_SRS_LIN

AUTOSAR LIN模块分析 目录 LIN模块概述LIN模块架构LIN通信状态流程LIN通信序列LIN配置结构总结1. LIN模块概述 本文档基于AUTOSAR规范SRS_LIN文档,对LIN(Local Interconnect Network)相关模块进行详细分析。主要包括以下几个模块: LIN接口 (LinIf)LIN驱动 (Lin)LIN传输层…

华为昇腾使用ollama本地部署DeepSeek大模型

文章目录 前言一、本次使用的硬件资源二、Ollama介绍三、Ollama在arm64位的芯片的安装及使用方法总结 前言 本次打算在华为昇腾上面使用ollama进行部署DeepSeek大模型。 一、本次使用的硬件资源 存储资源 内存资源 cpu资源 二、Ollama介绍 Ollama 是一个开源的大型语言…

多态的总结

什么是多态&#xff1f; 答&#xff1a;多态是多种形态&#xff0c;是为了完成某种行为时&#xff0c;不同对象会产生不同的形态&#xff08;结合车票例子解释&#xff09; 2. 什么是重载、重写(覆盖)、重定义(隐藏)&#xff1f; 答&#xff1a;重载的条件是&#xff1a;在同一…

Windows 高分辨率屏幕适配指南:解决界面过小、模糊错位问题

&#x1f5a5;️ Windows 高分辨率屏幕适配指南&#xff1a;解决界面过小、模糊错位问题 摘要&#xff1a; 在使用高分辨率屏幕时&#xff0c;许多老旧的桌面软件会出现界面显示异常的问题&#xff0c;例如窗口过小、控件错位、文字模糊等。本文提供一套通用解决方案&#xff0…

K8S-statefulset-mysql-ha

需求 实现一个HA mysql&#xff0c;包括1个master&#xff0c;2个slave。在K8S上已statefulset部署。 mysql HA原理 略 K8S环境需要解决的问题 1、由于使用同一个statefulset配置&#xff0c;因此需要考虑master和slave使用不同的cnf文件。 2、不同pod之间文件的传输 3、…