网站配置https,购买ssl证书,配置域名,配置nginx,实现安全访问

文章目录

  • 前言
  • 一. 域名
    • 1. 购买域名
    • 2. 添加记录
  • 二. ssl证书
    • 创建测试证书
    • 购买正式证书
    • 证书签发
      • 证书申请
      • 提交审核
      • DNS验证
      • 审核通过
      • 下载证书
  • 三. 部署nginx
    • 上传ssl证书
    • 配置nginx.conf文件
      • 找到nginx.conf文件
      • 编辑nginx.conf文件
      • 重启nginx

前言

当你创建了一个网站后,通过http协议进行访问,固然很方便,但随着安全性的要求,就会开始要求使用https进行数据传输,这个时候就需要你通过证书绑定域名的方式,来进行安全验证。特殊笔记,这次购买证书,到绑定域名映射,到nginx配置的全过程

一. 域名

1. 购买域名

关于域名的购买牵涉到隐私,且比较简单,就自行搜索进行购买吧。此处不做过多解释

2. 添加记录

  • 从运解析DNS,点击你购买的域名,然后点击添加记录,可配置多个子域名,比如我个人要用到的就有@、www、ht
    在这里插入图片描述
  • 填写“添加记录”
    记录类型:默认A,就是域名指向一个IPV4地址
    主机记录:@表示example.com,www表示www.example.com,ht表示ht.example.com
    记录值:由于“记录类型”选的是A,所以这里对应就是服务器的ip,请根据你服务器的ip自行填写
    TTL:解析结果在DNS服务器上缓存的时间,你可以看做指定时间刷新一次,有时候设置后域名指向没有当即生效,就是因为还未过TTL时间
    在这里插入图片描述
  1. 配置多个主机记录,实现多个子域名:
  • 前台访问,使用example.com和www.example.com,他们可以看做是一个,会自行跳转,且这两个域名可以用一个单域名证书,不需要专门购买两个个
  • 后台管理访问,使用ht.example.com,如果是单域名的证书方式,需要专门给他购买一个ssl证书
    在这里插入图片描述

二. ssl证书

如果是测试环境,可以使用这种免费证书,但如果是正式环境,还是付费购买正式的证书比较好

创建测试证书

  • 从ssl证书——ssl证书管理——免费证书——创建证书进入
  • 对于免费证书,每个阿里云用户有20个3个月免费的DV证书和1个12个月免费的DV-pro证书,说明几点:
  • 证书申请后,到期或者吊销,不会返还使用额度,就是说用一个少一个,每个用户只有20+1个
  • 12个月的DV-pro证书,可以通过续费的方式继续使用,3个月的DV证书到期后只能重新购买,重新部署
  • 免费证书都是单域名证书,不是通配符型,就是说www你要用一个证书,ht你要用一个证书
    在这里插入图片描述

购买正式证书

从ssl证书——ssl证书管理——免费证书——立即购买,进入
在这里插入图片描述
由于个人只需使用2个单域名,就根据以下进行配置,性价比高一点

  • 产品:SSL证书
    在这里插入图片描述

证书签发

证书申请

证书管理——证书申请
在这里插入图片描述

提交审核

填写信息进行域名绑定,

  • 证书类型:选择你购买的
  • 证书规格:默认即可
  • 域名名称:填写你要绑定的域名,域名千万别输错,签发后是无法修改的
  • 年限:默认1即可
  • 快捷签发:勾选,勾选后下面会多出选项
  • 域名验证方式:默认即可
  • 联系人:根据你的需求选择
  • 所在地:根据你的需求选择
  • 密钥算法:RSA
  • CSR生成方式:默认系统生成即可
    在这里插入图片描述

DNS验证

  • 此处阿里云会自行添加记录值到你的域名中,前提是你的域名和ssl都是阿里云购买的
  • 然后点击“验证”
    在这里插入图片描述

审核通过

可以看到example.com和www.example.com是公用一张单域名ssl证书的,不要傻傻的买两张证书哈
在这里插入图片描述

下载证书

  • 状态变成已签发后,点击后面“下载”按钮
    在这里插入图片描述
  • 由于服务器是使用nginx进行跳转的,所以下载相应版本到本地
    在这里插入图片描述
    下载后是两个文件,.key文件是公钥也就是public_key,.pem文件里是密钥这个不要泄露给别人,有安全风险
    在这里插入图片描述

三. 部署nginx

上传ssl证书

通过shell登陆第一步中域名主机记录指向的服务器,然后自行通过任何方式,把.key和.pem文件上传到服务器
文件夹所在位置,可自行定义
在这里插入图片描述

配置nginx.conf文件

对于nginx的安装这里就不做赘述,可自行GPT

找到nginx.conf文件

通过以下指令可以很快找到你的nginx.conf文件

find / -name nginx.conf

编辑nginx.conf文件

pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    proxy_headers_hash_max_size 1024;
    proxy_headers_hash_bucket_size 128;

	# http跳转到https
    server {
        listen 80;
        server_name ht.example.com www.example.com;
        return 301 https://$host$request_uri;
    }

	# example.com和www.example.com使用ssl证书进行验证通信
    server {
	    listen 443 ssl;
	    server_name example.com www.example.com;
	
		# 配置验证证书
	    ssl_certificate /home/cert/example.com/example.com.pem;
	    ssl_certificate_key /home/cert/example.com/example.com.key;

		# 该服务的根目录和index文件名
        root /home/example-frontend/origin/main/dist;
        index index.html;

		# 域名下/的请求,到该内容中查找文件,这是前端代码的请求
	    location / {
	        try_files $uri $uri/ /index.html;
	    }
	
		# 域名下/seascross的请求,代理到本地的8081端口,这是后端接口的请求
	    location /seascross {
	        proxy_pass http://localhost:8081;
	        proxy_set_header Host $host;
	        proxy_set_header X-Real-IP $remote_addr;
	        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	        proxy_set_header X-Forwarded-Proto $scheme;
	    }
	}
}

重点看第二个server

  • server_name:要对应你的域名,会被引用到的,这里需配置example.com www.example.com缺一不可
  • ssl_certificate、ssl_certificate_key:分别配置ssl证书的密钥和公钥
  • location:配置路由对应跳转访问什么地方

重启nginx

systemctl restart nginx

自此https配置完成

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

73. UE5 RPG 优化投射物以及敌人生成

解决发射物会与地面产生交互的问题 之前一直遇到发射物的体积过大会在发射时,和地面产生交互,我们可以调整小一些,然后为了防止它和自身产生交互事件。我们可以实现它在生成后,不会触发相关事件,而是在一定时间后。 对…

振弦式渗压计在土木工程安全监测中的重要性解析

在土木工程领域中,特别是涉及到坝体、隧道、路基等复杂结构的监测与安全管理时,渗压计作为一种关键的测量工具,发挥着举足轻重的作用。其中,振弦式渗压计以其独特的优点,得到了广泛的应用和认可。本文将对振弦式渗压计…

一文读懂 HTTP 和 RPC 的区别

随着互联网技术的发展,网络通信在各种应用中扮演着至关重要的角色。无论是构建 Web 应用还是进行服务之间的交互,选择合适的通讯协议成为开发者们需要深入思考的问题。在众多协议中,HTTP(HyperText Transfer Protocol)…

【IEEE ACCESS】论文发表记录 2

上次发IEEE ACCESS 感觉不错,速度较快,审稿费也不太夸张,这次梅开二度,希望好运。 官网:IEEE Access: The Multidisciplinary Open Access Journal 期刊水平: 范围认证 -中国科学院文献情报中心期刊分区表…

VBA学习(13):获取多层文件夹内文件名并建立超链接

代码使用了FileSystemObject对象和递归的方法实现文件夹和文件的遍历功能。分别将文件夹名称和文件名提取在表格的A/B列,并对文件名创建了超链接。 示例代码如下: Sub AutoAddLink()Dim strFldPath As StringWith Application.FileDialog(msoFileDialog…

好用的便签是什么 电脑桌面上好用的便签

作为一名文字工作者,我经常需要在繁杂的思绪中捕捉灵感,记录下那些一闪而过的想法。在寻找一款适合电脑桌面的便签应用时,我偶然发现了敬业签便签软件简直是为我量身定制的,它不仅界面简洁,操作便捷,更重要…

中国计算机学会芯片大会 (CCF Chip 2024)

🌟 中国计算机学会芯片大会(CCF Chip Conference,简称:CCF Chip) 将于📅 2024年7月19日至21日在上海市松江区上海富悦大酒店召开。 🎉 #CCF Chip 2024# 主题前瞻:"发展芯技术,智算芯未来&q…

【Java】已解决java.net.HttpRetryException异常

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例 已解决java.net.HttpRetryException异常 在Java的网络编程中,尤其是使用Apache HttpClient或其他类似的HTTP客户端库时,可能会遇到java.net.HttpRetryException异常。这个…

MMDetection 目标检测 —— 环境搭建和基础使用

参考文档 开始你的第一步 — MMDetection 3.3.0 文档 依赖 步骤 0. 下载并安装 Anaconda。 步骤 1. 创建并激活一个 conda 环境。(我选择的是python3.10) conda create --name openmmlab python3.8 -y conda activate openmmlab 步骤 2. 基于 PyTo…

Spring Boot基础入门

引言 Spring Boot是一个开源的Java框架,旨在简化Spring应用程序的创建和部署过程。它提供了一种快速和简便的方式来创建独立的、生产级别的基于Spring的应用程序。本文将介绍Spring Boot的基础知识,包括其核心特性、如何开始使用Spring Boot以及构建你的…

将强化学习重新引入 RLHF

我们很高兴在 TRL 中介绍 RLOO (REINFORCE Leave One-Out) 训练器。作为一种替代 PPO 的方法,RLOO 是一种新的在线 RLHF 训练算法,旨在使其更易于访问和实施。特别是, RLOO 需要的 GPU 内存更少,并且达到收敛所需的挂钟时间也更短…

01 Shell编程规范与变量

1、Shell脚本概述 在一些复杂的Linux维护工作中,大量的重复性的输入和交互操作不仅费力费时,而且容易出错,而编写一个恰到好处的Shell脚本程序,可以批量处理、自动化地完成一系列维护任务,大大减轻管理员的负担。 Sh…

【CT】LeetCode手撕—54. 螺旋矩阵

目录 题目1- 思路2- 实现⭐54. 螺旋矩阵——题解思路 3- ACM实现 题目 原题连接&#xff1a;92. 反转链表 II 1- 思路 模式识别&#xff1a;螺旋矩阵 ——> 用四个指针来顺时针遍历 2- 实现 ⭐54. 螺旋矩阵——题解思路 class Solution {public List<Integer> spir…

RuoYi Swagger请求401

问题描述&#xff1a; 提示&#xff1a;这里简述项目相关背景&#xff1a; 使用ruoyi-vue分离版&#xff0c;访问swagger&#xff0c;发现接口都调用失败&#xff1a;401 解决方案&#xff1a; 最终解决问题如下步骤&#xff1a; 1、 调用swagger中的接口&#xff0c;报错&a…

QT MQTT (二)编译与集成

一、QT MQTT 提供 MQTT 客户端服务的 Qt 专用库基于标准化发布 / 订阅协议&#xff0c;用于在设备和组件之间可靠地共享数据。MQTT 是为保证状态正确性、满足高安全标准和交换最小数据而设计的协议&#xff0c;因此被广泛应用于各种分布式系统和物联网解决方案中。 Qt开发MQT…

修改源码,打patch包,线上环境不生效

1.首先看修改的源码文件是否正确 在node_modules中&#xff0c;找对应的包&#xff0c;然后查看包中package.json 的main和module。如果用require引入&#xff0c;则修改lib下面的组件&#xff0c;如果是import引入则修改es下面的文件 main 对应commonjs引入方式的程序入口文件…

WPF 数据分组显示

WPF 数据分组显示 效果展示&#xff1a; Student类&#xff1a; public class Student {public string Name { get; set; }public string Class { get; set; }public int Age { get; set; } }MainWindow.xaml.cs public partial class MainWindow : Window {private Observ…

数据结构-图的基本概念

图的定义 图时由非空的顶点集合和一个描述顶点之间关系的集合组成。可以定义为&#xff1a; ​​​​​​​ ​​​​​​​ ​​​​​​​ G表示一个图&#xff0c;V表示点集&#xff0c;E表示边集。集合E的每一个二元组都包含两个值和&#xff0c;表示…

超薄续航,加量不加厚,这款手机甩某果几条街!

据微博知名数码博主爆料&#xff0c;一加即将推出的Ace3 Pro将搭载革命性的“冰川电池”&#xff0c;这是一款6100mAh容量的先进电池&#xff0c;比传统5000mAh电池薄0.49毫米&#xff0c;仅5.51毫米厚&#xff0c;且支持100W快充&#xff0c;可在30分钟内充满。 &#xff08;比…

设计软件有哪些?粒子插件篇,渲染100邀请码1a12

设计师常常需要设计特效&#xff0c;而粒子系统是必不可少的&#xff0c;这次我们简单介绍一些粒子插件。 1、ComplexFresnel ComplexFresnel插件是一款用于计算机图形渲染中的增强型菲涅尔效应模拟工具。它扩展了传统的菲涅尔效应模型&#xff0c;考虑了更多的光学参数&…