windows下nginx配置https证书

1、制作证书

1.1 安装工具openSSL。下载地址:http://slproweb.com/products/Win32OpenSSL.html

Win64OpenSSL_Light-3_1_0.exe安装(假定安装位置在 d:\openSSL\)

1.2 配置openSSL环境。

新建系统变量OpenSSL值为d:\openSSL\bin,相同值加入系统变量path中。

1.3 使用openSSL命令生成https证书

进入nginx目录,在根目录下创建ssl目录,(假定目录为d:\nginx\ssl)

在此目录下打开cmd窗口,执行命令
创建私钥: openssl genrsa -des3 -out my.key 1024
输入密码:123456
创建csr证书:openssl req -new -key my.key -out my.csr
输入密码:123456
接下来一直回车即可,全部默认。
复制文件: copy my.key my.key.copy
去除密码: openssl rsa -in my.key.copy -out my.key
输入密码:123456
生成crt证书: openssl x509 -req -days 365 -in my.csr -signkey my.key -out my.crt

完成此步骤后,文件my.key和my.crt即是我们需要的文件。

2、修改nginx配置文件\conf\nginx.conf

server {

listen 443 ssl;

server_name localhost;

ssl_certificate D:/nginx/ssl/my.crt;

ssl_certificate_key D:/nginx/ssl/my.key;

ssl_session_cache shared:SSL:1m;

ssl_session_timeout 5m;

ssl_ciphers HIGH:!aNULL:!MD5;

ssl_prefer_server_ciphers on;**

3、重启nginx

nginx.exe -s reload

4、验证

未加入SSL前:http://127.0.0.1:8080/my/test

已加入SSL后:https://127.0.0.1:443/my/test 或 https://127.0.0.1/my/test

其它说明:

http和https都可通过F12后在页面控制台看到请求和反馈包,区别在https方式下和后端交互是加密传输的,增加了传输安全性,缺点是解析页面时间要增多至少50%以上。

对于前后端的开发项目来说,这2种方式下的编程没有区别,仅是发布环节部署上有差异。后端部署时需要安装SSL证书环境,以用于前端交互时的对请求和反馈数据的加解密使用。

相关推荐
Java码农也是农12 分钟前
一篇文章讲清 NGINX 反向代理:location、proxy_pass、负载均衡与排错
nginx·负载均衡·后端开发·反向代理·proxy_pass
爱和冰阔落2 小时前
【Linux网络】TCP 半包粘包怎么解决?从长度报头、JSON 拆包到网络计算器完整实战
linux·运维·网络·tcp/ip
无奈笑天下13 小时前
银河麒麟上nproc命令教程详解
linux·运维·服务器
李纲明14 小时前
WordPress 打开页面直接报 500 而不是白屏:先核伪静态与文件权限,再查服务器错误日志
nginx·wordpress·文件权限·伪静态·错误日志·devdiy·500错误
威嵌神州17 小时前
嵌入式排故实录:高并发下串口数据“超时丢包”的根因剖析与架构优化
运维·服务器·嵌入式硬件·缓存
Decay__17 小时前
SQLServer 索引与 SQL 优化 —— 聚集索引、非聚集索引、覆盖索引、碎片维护与执行计划
运维·数据库·sql·mysql·架构
java_logo18 小时前
Docker 部署 DeepSeek Harness(moelin):轻松搭建带登录的本地 AI Agent 平台
运维·docker·容器·ai agent·deepseek·harness·轩辕镜像
打工仔折腾 AI1 天前
Changedetection.io 网页变动监控:Docker 部署、通知配置与公网暴露实践
运维·人工智能·后端·python·docker·容器·性能优化
无奈笑天下1 天前
银河麒麟上lsblk命令教程详解
linux·运维·服务器·数据库
fengkai45451 天前
Prometheus+K8s弹性伸缩综合项目
运维·kubernetes·k8s·prometheus·hpa·vpa