☰
Windows 下用 OpenSSL 生成 SSL 密钥并配置 Nginx 教程
2026/10/17 10:45:22 网站建设 项目流程

文章目录

  • Windows 下用 OpenSSL 生成 SSL 密钥并配置 Nginx 教程
    • 一、准备工作
      • 1. 确认 OpenSSL
      • 2. 确认 Nginx 路径
      • 3. 确定访问地址
    • 二、生成私钥和自签名证书
    • 三、配置 Nginx
    • 四、测试并启动 Nginx
    • 五、浏览器访问
    • 六、常用维护命令
    • 七、注意事项

Windows 下用 OpenSSL 生成 SSL 密钥并配置 Nginx 教程

一、准备工作

1. 确认 OpenSSL

打开 Git Bash,执行:

openssl version

能正常输出版本号即可。

2. 确认 Nginx 路径

假设你的 Nginx 解压在C:\nginx,后续命令和配置都以此为例,请根据实际路径替换。

3. 确定访问地址

假设你的内网 IP 是192.168.1.100,请替换成你自己的实际 IP。


二、生成私钥和自签名证书

创建进入文件夹

mkdir-p/c/nginx/confcd/c/nginx

在 Git Bash 中执行,一条命令搞定:

MSYS_NO_PATHCONV=1openssl req-x509-newkeyrsa:2048-nodes\-keyoutserver.key\-outserver.crt\-days365-sha256\-subj"/C=CN/ST=Fujian/L=Fuzhou/O=Test/CN=192.168.1.100"

说明:

参数含义
MSYS_NO_PATHCONV=1禁用路径转换
-x509直接生成自签名证书,跳过 CSR
-newkey rsa:2048生成 2048 位 RSA 私钥
-nodes私钥不加密码,Nginx 重启时不需要输入密码
-keyout私钥输出路径
-out证书输出路径
-days 365有效期 365 天
-subj证书主题信息,CN 填你的内网 IP

注意:Git Bash 中 Windows 路径用/c/开头,C:\nginx对应/c/nginx。

执行完成后,在C:\nginx\conf\目录下会生成两个文件:

  • server.key— 私钥
  • server.crt— 证书

三、配置 Nginx

编辑C:\nginx\conf\nginx.conf,在http块中添加或修改一个server:

server { listen 443 ssl; server_name 192.168.1.100; ssl_certificate conf/server.crt; ssl_certificate_key conf/server.key; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; location / { root html; index index.html index.htm; } }

几点说明:

  • Nginx for Windows 中路径用正斜杠/,conf/server.crt是相对于nginx.exe所在目录的路径。
  • server_name填你的内网 IP。
  • 如果已有 80 端口的 server 块,保留即可,HTTPS 和 HTTP 可以共存。

四、测试并启动 Nginx

在 Git Bash 或 CMD 中,进入 Nginx 目录:

cd/c/nginx

测试配置是否正确:

./nginx.exe-t

输出syntax is ok和test is successful表示配置没问题。

启动 Nginx:

./nginx.exe

如果 Nginx 已经在运行,重新加载配置:

./nginx.exe-sreload

五、浏览器访问

用浏览器打开:

https://192.168.1.100

由于是自签名证书,浏览器会提示"连接不安全"或"您的连接不是私密连接"。点击高级 → 继续访问即可。


六、常用维护命令

操作命令
启动 Nginx./nginx.exe
重新加载配置./nginx.exe -s reload
停止 Nginx./nginx.exe -s stop
查看证书信息openssl x509 -in conf/server.crt -text -noout
验证私钥是否匹配openssl x509 -noout -modulus -in conf/server.crt | openssl md5和openssl rsa -noout -modulus -in conf/server.key | openssl md5,两个 MD5 一致即匹配

七、注意事项

  1. 自签名证书只适合内网测试,对外正式网站请使用正规 CA 签发的证书。
  2. 如果更换了 IP 地址,需要重新生成证书,CN 必须与实际访问地址一致。
  3. 私钥文件server.key不要外传。
  4. 如果 Windows 防火墙拦截了 443 端口,需要在防火墙中放行。
  5. 本教程未使用 SAN 扩展,因此证书只支持 CN 中填写的这一个 IP 地址。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询