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

在 Windows 上生成本地 SSL 证书并使用 HTTPS 访问本地 Nginx 服务器

引言

在开发和测试过程中,使用 HTTPS 进行本地开发可以模拟生产环境,确保应用程序在实际部署时的安全性。本文将介绍如何在 Windows 环境中生成本地 SSL 证书,并将其配置到 Nginx 服务器上,以便通过 HTTPS 访问本地服务器。

安装必要工具

安装 OpenSSL

OpenSSL 是一个用于生成和管理 SSL/TLS 证书的工具。下载并安装 OpenSSL:

  1. 访问 OpenSSL 的 Windows 安装程序。
  2. 下载适合你 Windows 版本的安装程序(例如 Win64 OpenSSL v3.3.1)。
    按照安装程序的提示完成安装。
  3. 安装后配置把D:Program FilesOpenSSL-Win64in配置到环境变量。
安装 Nginx

我使用的是PHPStudy集成环境,自带Nginx服务器。

生成本地 SSL 证书

创建证书和私钥
  1. 打开命令提示符(cmd)或 PowerShell。

  2. 运行以下命令生成一个新的私钥和自签名证书:

    openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout localhost.key -out localhost.crt

参数说明:

  • -x509:指定生成自签名证书。
  • -nodes:不对私钥加密。
  • -days 365:证书有效期为 365 天。
  • -newkey rsa:2048:生成一个新的 RSA 密钥。
  • -keyout:指定私钥输出路径。
  • -out:指定证书输出路径。
  1. 在提示符下,输入证书信息
    • 国家:填写CN
    • 州/省:填写ShandDong(根据自身情况填写即可)
    • 市:填写QingDao(根据自身情况填写即可)
    • 组织:填写公司名称英文即可(根据自身情况填写即可)
    • 组织单位:填写部门名称英文即可(根据自身情况填写即可)
    • 公共名称:对于本地开发,Common Name 应设置为localhost
    • 电子邮件: (根据自身情况填写即可)

配置 Nginx 使用 SSL

修改 Nginx 配置文件

打开 Nginx 配置文件(nginx.conf)。该文件通常位于 Nginx 安装目录的 conf 子目录下。或者vhost目录下的子域名配置文件。

编辑配置文件,添加以下内容以启用 HTTPS:

server { listen 443 ssl; server_name localhost; root "D:/phpstudy_pro/WWW"; ssl_certificate D:/phpstudy_pro/Extensions/Nginx1.15.11/conf/ssl/localhost.crt; ssl_certificate_key D:/phpstudy_pro/Extensions/Nginx1.15.11/conf/ssl/localhost.key; location / { index index.php index.html; } location ~ .php(.*)$ { fastcgi_pass 127.0.0.1:9009; fastcgi_index index.php; fastcgi_split_path_info ^((?U).+.php)(/?.+)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; include fastcgi_params; } }

配置了 HTTPS 监听(端口 443),并指定了证书和私钥的位置。配置文件内容根据自己的实际情况配置。

重新启动 Nginx

根据实际情况重启Nginx服务器。

测试 HTTPS 配置

  1. 打开浏览器,访问https://localhost
  2. 浏览器可能会提示不安全的证书。由于我们使用的是自签名证书,浏览器无法验证其真实性。你可以选择忽略警告并继续访问。
  3. 如果一切配置正确,你应该能够看到 Nginx 的欢迎页面或你配置的网页内容。

常见问题

浏览器警告

自签名证书不会被浏览器信任,你可以将证书添加到受信任的根证书颁发机构来避免警告。操作方法因浏览器不同而有所不同。

证书过期

自签名证书有一个有效期(本文中设置为 365 天)。证书过期后,你需要重新生成证书并更新 Nginx 配置。

总结

通过以上步骤,你已成功在 Windows 环境中生成本地 SSL 证书,并配置 Nginx 以支持 HTTPS。使用 HTTPS 进行本地开发可以确保你的应用在实际部署时符合安全要求,并提供更好的用户体验。如果你遇到任何问题或有任何疑问,请在评论区留言讨论。

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

相关文章:

  • STM32G0系列高级定时器TIM1刹车中断配置与安全恢复机制实战(HAL库)
  • Verilog进阶:2001标准下模块端口的ANSI-C风格实践指南
  • 关注宝骏悦也plus充电枪,广州汽车销售公司哪家更靠谱 - mypinpai
  • 基于STM32F407与LVGL的立创开源拍立得:硬件设计、图像处理与低功耗实现
  • Windows11 CH340串口驱动版本回溯:从识别到打不开的深度排障
  • Go语言文件操作教程:如何读取、写入和管理文件
  • Spring_couplet_generation 与传统对联创作对比分析
  • CLIP-GmP-ViT-L-14多场景落地:已验证支持金融票据、司法卷宗、工业图纸等专业图像
  • 抖音直播高效下载解决方案:从痛点到全流程自动化指南
  • 【技术解析】Pipeline ADC中放大器增益为何必须为2的幂次方?
  • [算法训练] LeetCode Hot100 学习笔记#2
  • HUNYUAN-MT 7B翻译终端与Dify平台集成:构建无需代码的智能翻译工作流
  • Go语言连接 MySQL 教程:Golang 数据库操作入门
  • Python连接ClickHouse的实战避坑指南
  • GD32F450嵌入式环境监控系统设计与实现
  • Python flask 智慧旅游系统siiny4vh(车票,美食,酒店,门票,线路)
  • 科研绘图自动化:让学术图表创作效率提升十倍的智能解决方案
  • 跨平台文件路径处理:‘/‘与‘\‘的兼容性实践指南
  • u8g2与Adafruit_GFX实战:为嵌入式显示定制精简中文字库
  • 基于Soft-RoCE的RDMA开发环境搭建与调试实战
  • SUSTechPOINTS实战:从零部署3D点云标注平台,解锁自动驾驶数据标注新姿势
  • 国产MCU高精度μA级数字电流计设计
  • 实战指南:基于Multisim的压控电压源二阶带通滤波器设计与参数调优
  • 基于逻辑派FPGA-G1开发板的DHT11单总线温湿度传感器Verilog驱动实战
  • 基于TL082的非线性负阻抗电路设计与实测分析
  • YOLOv8剪枝实战:基于torch_pruning的轻量化模型优化(detect/segment双任务)
  • 效率倍增:基于快马平台快速生成openclaw飞书自动化通知机器人
  • 从像素到指标:手把手排查Landsat8 EVI计算中的异常值
  • 基于TDM与CD4051B的ADC通道扩展及噪声抑制策略
  • Uniapp跨平台在线考试系统开发实战(含完整源码与数据库设计)