在 Windows 上生成本地 SSL 证书并使用 HTTPS 访问本地 Nginx 服务器
创始人
2024-09-26 15:47:47
0

引言

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

安装必要工具

安装 OpenSSL

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

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

安装 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 进行本地开发可以确保你的应用在实际部署时符合安全要求,并提供更好的用户体验。如果你遇到任何问题或有任何疑问,请在评论区留言讨论。

上一篇:tmux相关命令

下一篇:多线程(1)

相关内容

热门资讯

安卓手机好的系统,安卓手机操作... 你有没有发现,现在手机市场上的安卓手机真是琳琅满目,让人挑花了眼。不过,你知道吗?在这些安卓手机中,...
安卓系统mac电脑配置,打造安... 亲爱的电脑迷们,你是否曾想过,你的苹果笔记本里也能装上安卓系统?是的,你没听错!今天,就让我带你一起...
状元郎平板安卓系统,引领平板教... 你有没有想过,一款平板电脑,竟然能让你在学习之余,还能畅游安卓世界的海洋?没错,今天我要跟你聊聊的就...
安卓系统哪个传奇好玩,畅玩经典... 手机里的游戏可是咱们休闲娱乐的一大法宝,尤其是安卓系统,那丰富的游戏资源简直让人挑花眼。今天,就让我...
联众支持安卓系统吗,“联众PD... 斗地主爱好者们,是不是在为找不到一款好玩的斗地主游戏而烦恼呢?别急,今天我要给大家揭秘一个好消息——...
康佳电视安卓系统太卡,康佳电视... 亲爱的电视迷们,你们有没有遇到过这样的烦恼:家里的康佳电视用着用着就变得像蜗牛一样慢吞吞的,让人抓狂...
ios对比安卓系统流畅,流畅体... 你有没有发现,用手机的时候,有时候iOS系统就像个优雅的舞者,而安卓系统则像个活力四射的少年?没错,...
安卓系统占用内存小,深度解析优... 你有没有发现,手机用久了,就像人一样,会变得“臃肿”起来?尤其是安卓系统,有时候感觉就像一个超级大胃...
安卓系统怎么下载jdk,JDK... 你有没有想过,在安卓手机上也能编写Java程序呢?没错,就是那种在电脑上写代码的感觉,现在也能在手机...
安卓系统调手机亮度,轻松掌握手... 手机屏幕亮度总是让你眼花缭乱?别急,今天就来手把手教你如何轻松调节安卓系统的手机亮度,让你的手机屏幕...
学习机安卓系统双系统,安卓系统... 你有没有想过,学习机也能玩转安卓系统?没错,就是那个我们平时用来刷剧、玩游戏、看新闻的安卓系统!现在...
安卓系统有哪些兼职,盘点热门兼... 你有没有想过,在手机上也能轻松赚钱呢?没错,就是那个我们每天都离不开的安卓系统,它不仅能让你畅游网络...
别致影音下载安卓系统,轻松享受... 你有没有想过,在这个信息爆炸的时代,找到一款既别致又实用的影音下载APP,简直就像在茫茫人海中找到那...
安卓车机系统和手机系统,共筑智... 你有没有发现,现在汽车也越来越智能了?这不,车机系统都开始流行起来,而且很多车企都选择了安卓系统。那...
爱情银行ios系统与安卓系统,... 亲爱的读者们,今天咱们来聊聊一个让无数人心动的话题——爱情银行iOS系统与安卓系统!想象爱情银行就像...
车载wce系统和安卓系统区别,... 亲爱的车友们,你们有没有想过,为什么你的车载导航有时候会像老牛拉车一样慢吞吞,有时候又像兔子一样活泼...
安卓系统常见app取证,深度解... 你有没有想过,手机里的那些小玩意儿,其实可能藏着大大的秘密呢?没错,就是那些我们每天不离手的安卓系统...
苹果云照片安卓系统,苹果云照片... 你有没有想过,那些在苹果手机上美美哒的照片,怎么才能搬到安卓手机上呢?别急,今天就来给你揭秘这个神奇...
ios系统跟安卓系统都是美国,... iOS与安卓:美国科技的双雄争霸在当今这个数字化的世界里,智能手机已经成为了我们生活中不可或缺的一部...
深度系统可以装安卓,系统兼容安... 亲爱的读者们,你是否曾想过,在电脑上也能畅玩安卓游戏,享受安卓应用带来的便捷?现在,这个梦想成真啦!...