当前位置: 首页 > news >正文

Windows本地Nginx服务器部署SSL证书(OpenSSL自签名证书)

一、下载安装OpenSSL

下载地址https://slproweb.com/products/Win32OpenSSL.html百度网盘

注意安装目录不要有空格


二、创建根CA证书

1. 在 openssl.exe 所在目录下,路径条中输入cmd,打开命令提示符

2. 依次输入以下指令:

# 生成私密的根CA密钥:

openssl genrsa -out my-root-ca.key 2048

# 使用密钥生成自签名的根CA证书(这就是你要导入到系统信任库的证书):

openssl req -x509 -new -nodes -key my-root-ca.key -sha256 -days 1825 -out my-root-ca.crt -subj "/CN=My-Local-Root-CA"


三、用你的根 CA 为你的服务器签发一个证书

以IP地址192.168.2.44为例,cmd继续输入以下指令:

# 创建服务器私钥:

openssl genrsa -out 192.168.2.44.key 2048

# 创建证书签名请求 (CSR)
openssl req -new -key 192.168.2.44.key -out 192.168.2.44.csr -subj "/CN=192.168.2.44"

四、创建一个配置文件v3.ext

以IP地址192.168.2.44为例,

在 openssl.exe 所在目录下,新建文本文件,命名为 “v3.ext”,粘贴以下内容:

authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names

[alt_names]
IP.1 = 192.168.2.44

此步骤用于指明该证书用于服务器身份验证,并包含IP地址。


五、使用你的根 CA 签署 CSR,生成最终的服务器证书

以IP地址192.168.2.44为例,cmd继续输入以下指令:

openssl x509 -req -in 192.168.2.44.csr -CA my-root-ca.crt -CAkey my-root-ca.key -CAcreateserial -out 192.168.2.44.crt -days 825 -sha256 -extfile v3.ext

现在,你就有了:

  • 服务器证书文件192.168.2.44.crt

  • 服务器私钥文件192.168.2.44.key

  • CA 证书文件(用于构建链)my-root-ca.crt


六、编辑Nginx配置文件:

编辑您的nginx.conf文件:

server {
listen 443 ssl;
server_name 192.168.2.44;

# 示例路径,请根据您实际的目录修改
ssl_certificate C:/Users/YourPath/192.168.2.44.crt;
ssl_certificate_key C:/Users/YourPath/192.168.2.44.key;

... 其他配置 ...
}

注意目录路径不能包含 像 Program Files 这种带空格的文件夹




PS:将my-root-ca.crt证书安装到受信任的根证书颁发机构 ,Firefox设置security.enterprise_roots.enabledtrue(在about:config中设置)可解决Firefox本地测试WebSockets不可用问题

PS:将 CRT 证书和 KEY 私钥合并成一个 PKCS#12 (.pfx) 文件 CMD指令:

openssl pkcs12 -export -out 192.168.2.44.pfx -inkey 192.168.2.44.key -in 192.168.2.44.crt

或 (Unity Mirror插件 使用SimpleWebTransport的Ceil.json指定pfx后,运行报错,用下面指令生成pfx无报错)
openssl pkcs12 -export -out certificate.pfx -inkey server.key -in server.crt -certpbe PBE-SHA1-3DES -keypbe PBE-SHA1-3DES -macalg sha1

http://www.jsqmd.com/news/894419/

相关文章:

  • 别再只调曝光了!海康工业相机MVS软件里这些隐藏设置,才是提升图像质量的关键
  • vue2知识点:生命周期(包含:生命周期介绍、生命周期钩子、整体流程图详解)
  • 基于SpringBoot + Vue的古典舞在线交流平台设计与实现
  • OSEK直接网络管理实战:从Alive报文到逻辑环建立,一个ECU的“入网”全流程解析
  • PX4多机仿真避坑指南:为什么你的无人机队形飞着飞着就散了?
  • TradingAgents-CN:如何用多智能体AI系统实现专业级股票分析决策
  • Lovable健身后台架构演进史:从单体到Service Mesh,支撑日均500万次AI动作识别的4次重构纪要
  • RankMixer:抖音工业级推荐系统的异构特征交互与并行化架构
  • C167CR芯片片上RAM优化与μVision2配置指南
  • InsForge API网关完整指南:如何配置请求转发与智能速率限制
  • 用FPGA和帧差算法DIY一个智能监控系统:从OV5640摄像头到HDMI显示的完整流程(含11套源码)
  • 从游戏角色动起来到屏幕亮起来:拆解OpenGL渲染管线(Pipeline)在Unity/UE4引擎中的实际工作流
  • 无基础设施AI外呼:云服务模式下的智能对话解决方案与实践指南
  • 关于如何设置电脑通电自动重启以及自动连接校园网
  • C基础 8
  • 别急着导SQL!解决MySQL Error 1046前,先检查你的Workbench连接和默认Schema
  • SDSS-V项目:全球最大天文光谱巡天的技术创新与科学目标
  • 戴森球计划工厂蓝图库:3000+精选设计让你的太空工厂效率翻倍
  • Arm CMN-600/700系统地址映射掩码寄存器解析与配置
  • React Native基础
  • React AJAX:深入浅出
  • JDK 下载安装成功后无法打开.jar文件
  • 解决Animagine XL 3.1常见问题:提升生成效果的实用解决方案
  • 表示秩分析:优化句子嵌入模型性能与稳定性的关键
  • UE4.26特效优化实战:用Cascade编辑器排查并解决粒子系统性能瓶颈
  • 鸣潮自动化工具终极指南:5个技巧解放你的游戏时间
  • 基于向量数据库与混合检索的AI智能体持久记忆系统构建
  • 从零组装一台CNC小机床:手把手教你用树莓派4B+DM542+步进电机搭建核心控制系统
  • vben中通过自定义指令 实现边界拖拽
  • 2026中水回用零排放设备企业精选:印染废水中水回用设备厂家盘点 - 栗子测评