在nginx上为 IP 地址生成 SSL 证书并在windosw签证

使用 OpenSSL 生成自签名证书

1.1 创建配置文件

创建 ip-san.cnf文件:

bash 复制代码
[ req ]
default_bits = 2048
distinguished_name = req_distinguished_name
req_extensions = req_ext
prompt = no

[ req_distinguished_name ]
countryName = CN
stateOrProvinceName = Beijing
localityName = Beijing
organizationName = MyCompany
commonName = 192.168.1.100  # 您的IP地址

[ req_ext ]
subjectAltName = @alt_names

[ alt_names ]
IP.1 = 192.168.1.100  # 主IP
# 可以添加多个IP
# IP.2 = 10.0.0.1
# DNS.1 = example.com

1.2 生成证书(Linux)

bash 复制代码
# 生成私钥
openssl genrsa -out server.key 2048

# 生成CSR
openssl req -new -key server.key -out server.csr -config ip-san.cnf

# 生成自签名证书(有效期10年)
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt -extfile ip-san.cnf -extensions req_ext

# 生成PFX格式(Windows用)
openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt -password pass:123456

在 Nginx for Windows 使用证书

bash 复制代码
# nginx.conf 配置
server {
    listen 443 ssl;
    server_name 192.168.1.100;
    
    ssl_certificate /nginx/ssl/server.crt;
    ssl_certificate_key /nginx/ssl/server.key;
    
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    
    location / {
        root html;
        index index.html;
    }
}

在 Windows 上安装证书

bash 复制代码
# 方法1:图形界面
# 1. 双击 server.pfx
# 2. 选择"本地计算机" → 下一步
# 3. 输入密码 → 勾选"标记此密钥为可导出"
# 4. 选择"根据证书类型,自动选择证书存储" 或
#    选择"个人" → 下一步 → 完成


密码123456




测试 https://192.168.1.100

相关推荐
TechWayfarer6 小时前
如何搭建企业级IP归属地查询平台?
网络·网络协议·tcp/ip
TechWayfarer6 小时前
科普:IP归属地中的IDC/机房/家庭宽带有什么区别?
服务器·网络·tcp/ip
EmbeddedCore8 小时前
守护网络通信的基石:深入解析SSL/TLS协议
网络·网络协议·ssl
J2虾虾8 小时前
Caddy GO语言写的Nginx平替
nginx·caddy
2601_949817728 小时前
Nginx权限问题详解及解决方案
运维·nginx
FPGA小迷弟11 小时前
FPGA工程师面试题汇总(二十四)
网络协议·tcp/ip·fpga开发·verilog·fpga
EmbeddedCore12 小时前
在资源受限的M3处理器上实现SSL/TLS通信的完整方案
网络协议·嵌入式·ssl
小小小陆12 小时前
同一台电脑两个WinForm程序TCP通信
网络·网络协议·tcp/ip
醇氧13 小时前
【学习】IP地址分类全解析
网络协议·学习·tcp/ip
liqianpin114 小时前
Nginx WebSocket 长连接及数据容量配置
运维·websocket·nginx