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

Windows系统使用OpenSSL生成自签名证书

Nginx服务器添加SSL证书。
要在Windows系统的Nginx Web服务器上使用OpenSSL生成证书,并确保该证书能在局域网内被计算机信任,你可以按照以下详细步骤进行操作:

一、生成证书

  1. 下载并安装OpenSSL

    • 从OpenSSL的官方网站下载适用于Windows的版本。
    • 安装OpenSSL,并配置环境变量。将OpenSSL的安装路径(例如C:\Program Files\OpenSSL-Win64\bin)添加到系统的Path环境变量中。
  2. 生成服务器私钥

    • 打开命令提示符(CMD),切换到你想保存证书的目录。
    • 执行以下命令生成服务器私钥(server.pemserver.key):
    openssl genrsa -out server.pem 2048
    openssl rsa -in server.pem -out server.key
    
  3. 生成证书签名请求(CSR)

    • 执行以下命令生成CSR文件(server.csr):
    openssl req -new -key server.key -out server.csr -subj "/C=CN/ST=YourState/L=YourCity/O=YourOrganization/OU=YourUnit/CN=YourServerName"
    
    • 注意将/C=CN/ST=YourState/L=YourCity/O=YourOrganization/OU=YourUnit/CN=YourServerName中的占位符替换为你的实际信息。其中CN(Common Name)必须是你希望证书绑定的域名或IP地址,在局域网中通常是服务器的IP地址或局域网内的域名。
  4. 生成自签名SSL证书

    • 执行以下命令生成自签名SSL证书(server.crt):
    openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
    
  5. 生成PFX证书(可选,但Windows常用)

    • 如果你希望将证书和私钥打包成一个PFX文件,可以执行以下命令:
    openssl pkcs12 -export -in server.crt -inkey server.key -out server.pfx -name server
    
    • 在此过程中,你需要输入一个密码来保护PFX文件。

二、配置Nginx使用证书

  1. 将证书文件复制到Nginx目录

    • 将生成的server.crtserver.key(或server.pfx,如果使用PFX文件)复制到Nginx安装目录下的conf文件夹或其他你指定的证书文件夹中。
  2. 修改Nginx配置文件

    • 打开Nginx配置文件(通常是nginx.conf),并添加或修改HTTPS服务器配置部分:
    server {
    	listen 443 ssl;
    	server_name YourServerName;  # 可以填IP地址或域名
    	ssl_certificate ssl/server.crt;  # 证书文件路径
    	ssl_certificate_key ssl/server.key;  # 私钥文件路径(如果使用PFX文件,则不需要此行,并在ssl_certificate行指定PFX文件)
    	# 如果使用PFX文件,则配置如下:
    	# ssl_certificate ssl/server.pfx;
    	# ssl_certificate_key 不用指定,因为PFX文件已包含私钥
    	# 其他SSL配置...
    	
    	location / {
    		root html;
    		index index.html index.htm;
    		# 其他配置...
    	}
    }
    
  3. 重启Nginx

    • 保存并关闭Nginx配置文件,然后重启Nginx以使配置生效。

三、局域网内信任证书

  1. 将根证书(CA证书)导入到局域网内的计算机

    • 在这个场景中,由于你使用的是自签名证书,因此你的计算机需要信任这个自签名的根证书。
    • 将生成的server.crt(或CA证书,如果你有一个单独的CA证书)复制到每台需要信任该证书的计算机上。
  2. 在Windows上导入证书

    • 打开“控制面板” > “管理工具” > “证书 - 当前用户”或“证书 - 计算机”。
    • 选择“受信任的根证书颁发机构”或适当的存储位置。
    • 右键点击“证书”文件夹,选择“所有任务” > “导入”,然后按照向导导入你的证书文件(server.crt)。
  3. 验证信任

    • 在浏览器中访问使用HTTPS的Nginx服务器,如果证书被正确导入并信任,则浏览器将不会显示安全警告。

请注意,自签名证书虽然适用于内部或测试环境,但在生产环境中通常建议使用由受信任的证书颁发机构(CA)签发的证书,以确保更高的安全性和用户信任度。

补充:局域网内证书信任问题

因为缺少CA证书,故以上第三章节也不能解决证书信任问题。
要制作局域网内被信任的证书,请移步:局域网内搭建浏览器可信任的SSL证书


http://www.kler.cn/a/384544.html

相关文章:

  • 基于航片的玉米异常情况识别赛题正在报名中 | CCF BDCI进行时
  • Spring Boot——日志介绍和配置
  • 信号-2-信号捕捉
  • 优化策略:揭秘钢条切割与饼干分发的算法艺术
  • leetcode字符串(二)-重复的子字符串
  • 带点符号的 TypeScript 实用程序类型 NestedKeyOf 在严格模式下失败
  • pnpm管理多工作区依赖
  • Oracle-日期转换
  • 数据结构-数组(稀疏矩阵转置)和广义表
  • 【全网最新】Pycharm安装 并完成正常使用 Anaconda3最新版安装教程 搭配Pycharm 调试Anaconda3
  • Django设计响应数据结构
  • web前端
  • navicat pg库安装mysql fdw 外表扩展
  • Call For Speaker! |2025中国国际音频产业大会(GAS)演讲嘉宾征集令启动!
  • 后端Node学习项目-项目基础搭建
  • linux下linuxdeployqt打包过程
  • Xserver v1.4.2发布,支持自动重载 nginx 配置
  • Golang--协程和管道
  • 飞腾平台Arm ComputeLibrary编译安装指南
  • canal1.1.7使用canal-adapter进行mysql同步数据
  • springboot 传统应用程序,适配云原生改造
  • SSH僵尸主机挖矿木马预警
  • 群控系统服务端开发模式-应用开发-腾讯云上传工厂及七牛云上传工厂开发
  • 从Apache Atlas到Aloudata BIG,数据血缘解析有何改变?
  • redis时间优化
  • Redisson实现RedLock分布式锁同步