Nginx 生成、配置SSL证书让浏览器信任证书

文章目录
  • 1.生成SSL证书
    • 1.1生成自签名证书(生成证书方式一)
    • 1.2.模拟CA机构方式生成证书(生成证书方式二,推荐)
      • 3.1 生成 CA 的私钥ca.key和自签名证书ca.crt:
      • 3.2 生成服务器私钥 server.key:
      • 3.3 生成服务器证书请求文件server.csr:
      • 3.4 生成服务器证书请求文件 server.csr:
      • 3.5 创建扩展文件private.ext(让证书可以关联多个受信任域名或者IP)
      • 3.6 生成服务器证书文件 server.crt:
      • 3.7 验证生成的证书(可选):
  • 2 修改nginx.conf配置
  • 3 安装证书到本地,让浏览器信任证书

1.生成SSL证书

1.1生成自签名证书(生成证书方式一)

# 生成私钥:server.key [root@localhost ~]# openssl genrsa -out server.key 2048 # 生成证书请求文件:server.csr [root@localhost cert]# openssl req -new -key server.key -out server.csr Country Name (2 letter code) [XX]:cn 《==这里填国家 State or Province Name (full name) []:guangdong 《==这里填省份 Locality Name (eg, city) [Default City]:shenzhen 《==这里填城市 Organization Name (eg, company) [Default Company Ltd]:xxx公司 《==这里填公司名称 Organizational Unit Name (eg, section) []:xxx部门 《==这里填公司部门 Common Name (eg, your name or your server's hostname) []:www.example.com 《==这里网站域名或者IP # 自签名方式-生成证书文件:server.crt [root@localhost cert]# openssl x509 -req -in server.csr -signkey server.key -out server.crt -days 365000 Signature ok subject=/C=cn/ST=guangdong/L=shenzhen/O=das/OU=ma/CN=www.das.com Getting Private key

生成完毕后,实际有用的只有 server.key 和 server.crt文件

1.2.模拟CA机构方式生成证书(生成证书方式二,推荐)

在 OpenSSL 中生成证书时,-CAkey 选项用于指定 CA(证书颁发机构)的私钥文件。这个私钥文件用于签署生成的证书,从而证明证书是由该 CA 颁发的。

3.1 生成 CA 的私钥ca.key和自签名证书ca.crt:
openssl req -x509 -nodes -days 365000 -newkey rsa:2048 -subj "/C=CN/ST=guangdong/L=shenzhen/O=DAS" -keyout ca.key -out ca.crt -reqexts v3_req -extensions v3_ca
3.2 生成服务器私钥 server.key:
openssl genrsa -out server.key 2048 openssl req -new -key server.key -subj "/C=CN/ST=guangdong/L=shenzhen/O=DAS/CN==www.example.com" -sha256 -out server.csr
3.3 生成服务器证书请求文件server.csr:
openssl genrsa -out server.key 2048
3.4 生成服务器证书请求文件 server.csr:
openssl req -new -key server.key -subj "/C=CN/ST=guangdong/L=shenzhen/O=DAS/CN=www.example.com" -sha256 -out server.csr
3.5 创建扩展文件private.ext(让证书可以关联多个受信任域名或者IP)
cat > private.ext << EOF [ req ] default_bits = 2048 distinguished_name = req_distinguished_name req_extensions = san extensions = san [ req_distinguished_name ] countryName = CN stateOrProvinceName = Definesys localityName = Definesys organizationName = Definesys [SAN] authorityKeyIdentifier=keyid,issuer basicConstraints=CA:FALSE keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment subjectAltName = @alt_names [alt_names] DNS.1 = www.example.com DNS.2 = www.example.net DNS.3 = www.example.org #IP.1 = 192.168.1.1 #IP.2 = 203.0.113.1 EOF

注:在上文的DNS.x填上你网站使用的域名、IP.X填上你网站使用的IP。结合实际来,看你网站使用的是域名还是IP,也可以都进行配置。

3.6 生成服务器证书文件 server.crt:
openssl x509 -req -days 365000 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -sha256 -out server.crt -extfile private.ext -extensions SAN

注:-extfile private.ext -extensions SAN 是指告诉OpenSSL从private.ext文件中读取[SAN]下扩展的定义,并将其应用到正在生成的证书中

3.7 验证生成的证书(可选):
#验证证书 openssl x509 -in server.crt -text -noout 这个命令会显示证书的详细信息,包括颁发者、有效期、公钥等。

证书生成完毕后,相关文件如下所示:

2 修改nginx.conf配置

server { listen 80; server_name localhost; # 将所有http请求自动跳转至https return 302 https://$host$request_uri; } server { listen 443 ssl; server_name localhost; # ssl配置 ssl_certificate /上文生成的的证书目录路径/server.crt; # 证书文件路径 ssl_certificate_key /上文生成的的证书目录路径/server.key; # 私钥文件路径 ssl_session_timeout 5m; # ssl会话信息保留时间 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # 仅启用安全的 TLS 版本 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; # 指定强大的加密套件(用于对称和非对称加密算法) ssl_prefer_server_ciphers on; # 优先使用服务器端的加密套件 client_max_body_size 100m; # 客户端请求体的最大允许大小; # ... 以下是你配置文件的其他配置 }

3 安装证书到本地,让浏览器信任证书

安装证书,让浏览器信任证书。

正常情况下,用浏览器访问自签名的证书网站,那么浏览器会提示当前网站不安全,证书不受信任。

下面 以上文 “模拟CA机构方式生成证书(生成证书方式二,推荐)” 方式安装CA证书到本地,让浏览器信任证书。

双击ca.crt文件



再次访问
注:在访问网站使用的IP或者域名,必须是 subjectAltName 下指定的域名或者IP。

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

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

相关文章

三相无刷电机FOC控制器及驱动板资料集(含原理图、PCB图纸及源代码,经生产验证,中文注释版)

三相无刷电机foc控制器资料。 三相无刷电机驱动板资料&#xff0c;包含原理图&#xff0c;可直接投产PCB图纸&#xff0c;源代码。 经过生产验证的资料&#xff0c;非学习板&#xff0c;按照资料不用修改可直接产品。 代码中文注释&#xff0c;适合动手能力强或者有研究能力的可…

最新面向自然科学领域机器学习与深度学习技术

随着观测技术、数值模拟与计算基础设施的迅猛发展&#xff0c;地球系统科学、生态学、环境科学等自然科学领域正迈入“大数据智能模型”驱动的新阶段。传统的统计建模方法虽具可解释性&#xff0c;却难以应对高维、非线性、多源异构的复杂自然系统&#xff1b;而以机器学习和深…

GaussDB-Vector 从入门到精通:面向大模型的大规模持久化实时向量数据库,收藏这一篇就够了!

随着大语言模型&#xff08;LLM&#xff09;应用的爆发式增长&#xff0c;如何为其提供高效、可靠且可扩展的“长期记忆”已成为关键挑战。向量数据库通过存储和检索高维向量&#xff0c;成为解决LLM幻觉问题和降低推理成本的核心组件。然而&#xff0c;现有向量数据库系统往往…

多通道I2S音频传输延迟问题解析:深度剖析成因与对策

多通道I2S音频传输为何总是“慢半拍”&#xff1f;一文讲透延迟根源与实战调优你有没有遇到过这样的场景&#xff1a;在做8麦克风阵列波束成形时&#xff0c;发现某些通道的数据明显滞后&#xff0c;导致声源定位偏移&#xff1b;车载音响系统里&#xff0c;后排扬声器的声音听…

如何查看电脑上是ros1还是ros2呢?

问题描述&#xff1a;如何查看电脑上是ros1还是ros2呢&#xff1f;问题解答&#xff1a;要查看你的电脑上安装的是 ROS 1 还是 ROS 2&#xff0c;可以通过以下几种方式来确认&#xff1a;1. 检查环境变量ROS 通常会在环境变量中设置一些标识&#xff0c;可以通过查看终端中的环…

基于 YOLOv8 的智能杂草检测识别实战 [目标检测完整源码]

基于 YOLOv8 的智能杂草检测识别实战 [目标检测完整源码] 引言&#xff1a;为什么杂草识别是智慧农业中的“硬问题”&#xff1f; 在智慧农业场景中&#xff0c;杂草识别一直被认为是目标检测中难度较高的一类任务&#xff0c;原因主要集中在以下几点&#xff1a; 杂草与作物…

效率对比:传统破解vs快马AI生成IDEA试用方案

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 请开发一个IntelliJ IDEA试用期管理效率对比工具&#xff0c;要求&#xff1a;1.自动记录手动破解各步骤耗时 2.记录AI方案生成和执行时间 3.对比成功率统计 4.系统资源占用分析 5…

普通RAG已不够看!Agentic RAG才是大模型落地的未来!一文讲透从原理到企业级架构。

导言 在人工智能飞速发展的今天&#xff0c;大语言模型&#xff08;LLM&#xff09;已经从“能说会道”逐步迈向“能思善行”。然而&#xff0c;传统的大模型在面对复杂任务时仍存在知识滞后、缺乏上下文记忆、无法自主调用工具等局限。为了解决这些问题&#xff0c;检索增强生…

AI如何助力棋牌游戏开发:从代码生成到智能优化

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个基于元开棋牌送6体验金币官网的棋牌游戏项目&#xff0c;包含以下功能&#xff1a;1. 用户注册登录系统&#xff1b;2. 金币赠送和消耗逻辑&#xff1b;3. 多种棋牌游戏玩…

边缘设备模型加载提速

&#x1f493; 博客主页&#xff1a;借口的CSDN主页 ⏩ 文章专栏&#xff1a;《热点资讯》 边缘设备模型加载提速&#xff1a;能耗优化与未来路径目录边缘设备模型加载提速&#xff1a;能耗优化与未来路径 引言&#xff1a;边缘AI的加载瓶颈与核心价值 现在时&#xff1a;主流技…

基于 YOLOv8 的人体与行人检测智能识别实战 [目标检测完整源码]

基于 YOLOv8 的人体与行人检测智能识别实战 [目标检测完整源码] 引言&#xff1a;为什么“行人检测”仍然是工程中的关键基础能力&#xff1f; 在安防监控、智慧城市、公共空间管理等应用中&#xff0c;几乎所有高层视觉任务——如人数统计、行为分析、异常检测——都建立在一…

AEnvironment 从入门到精通:面向 Agentic RL 时代的万物互联环境系统,收藏这一篇就够了!

AEnvironment是 ASystem 专为 Agentic RL 打造的基础设施。它通过标准化的 MCP****协议和高性能的 ASandbox 运行时&#xff0c;将原本复杂的环境搭建从“写脚本”变成“调服务”。在蚂蚁内部&#xff0c;AEnvironment 与 AReaL 深度协同&#xff0c;打通了从“训练”到“部署”…

性价比天花板!InfiniSynapse如何用1/10成本模型打败高价竞品

一个实验&#xff1a;10倍价格差距能否带来更好的分析&#xff1f; 在AI数据分析的世界里&#xff0c;一个普遍的认知是&#xff1a;你付出的价格决定了你得到的质量。 Claude / GPT 系列等 API 调用成本是 DeepSeek-V3.2 的 10 倍以上——这样的价格差异&#xff0c;是否真的…

Navicat 连接 SQL Server 详尽指南

Navicat 是一款功能强大的数据库管理工具&#xff0c;它提供了直观的图形界面&#xff0c;使用户能够轻松地管理和操作各种类型的数据库&#xff0c;包括 SQL Server。本文将详尽介绍如何使用 Navicat 连接到 SQL Server 数据库&#xff0c;包括安装设置、连接配置、常见问题排…

Nginx location 和 proxy_pass 配置详解

概述 Nginx 配置中 location 和 proxy_pass 指令的不同组合方式及其对请求转发路径的影响。 配置效果 1. location 和 proxy_pass 都带斜杠 / location /api/ {proxy_pass http://127.0.0.1:8080/; }访问地址&#xff1a;www.hw.com/api/upload转发地址&#xff1a;http://127.…

AI大模型进阶:从Prompt Engineering到Agentic Engineering,构建下一代软件架构!

越来越多企业已经落地 AI 智能体应用&#xff0c;我们会不约而同的发现&#xff0c;智能体应用在企业落地 90% 的工作都是软件工程&#xff08;智能体工程&#xff09;&#xff0c;只有 10% 是真正的 AI 大模型。 智能体在企业落地中的每一个组件都是模块化的&#xff0c;而且…

nested exception is org.springframework.beans.factory.parsing.BeanDefinitionParsingException

记一次启动tomcat时&#xff0c;遇到的无法加载[spring/dubbo-service.xml][spring/spring-context.xml]问题。 今天在生产环境部署一个dubbo项目&#xff0c;遇到如下报错&#xff1a; 2022-03-23 17:12:24.553 ERROR TraceId[] From[] To[] org.springframework.web.contex…

Nginx 请求转发配置指南

Nginx 请求转发配置指南 1. 简介 Nginx 是一款高性能的 HTTP 和反向代理服务器&#xff0c;也是一个 IMAP/POP3/SMTP 代理服务器。本文档将介绍如何使用 Nginx 配置请求转发&#xff0c;并解释一些常用的配置参数。 2. Nginx 安装 在配置之前&#xff0c;确保你的系统已经安…

Neo4j图数据库学习(二)——SpringBoot整合Neo4j

一. 前言 本文介绍如何通过SpringBoot整合Neo4j的方式&#xff0c;对图数据库进行简单的操作。 Neo4j和SpringBoot的知识不再赘述。关于Neo4j的基础知识&#xff0c;有兴趣可以看看作者上一篇的文章&#xff1a;Neo4j图数据库学习(一)——初识CQL 二. 前置准备 新建SpringBo…

Thinkphp-Laravel大学校园后勤移动报修系统 小程序app

目录系统概述核心功能技术架构管理端功能应用价值项目开发技术介绍PHP核心代码部分展示系统结论源码获取/同行可拿货,招校园代理系统概述 Thinkphp-Laravel大学校园后勤移动报修系统是一款基于微信小程序的便捷服务应用&#xff0c;整合ThinkPHP与Laravel框架优势&#xff0c;…