在 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)

相关内容

热门资讯

怎么降级手机系统安卓,操作指南... 手机系统升级了,新功能层出不穷,但有时候,你可能会觉得,这系统太卡了,想回到那个流畅如丝的年代。别急...
安卓系统软件界面,功能与美学的... 你有没有发现,每次打开手机,那熟悉的安卓系统软件界面就映入眼帘?它就像一个老朋友,默默陪伴着我们度过...
安卓使用全新系统,引领未来科技... 你知道吗?最近安卓系统可是来了一场大变身,全新的系统让人眼前一亮,简直就像给手机穿上了时尚的新衣。今...
安卓手机系统的测试,性能、稳定... 你有没有发现,每次拿到新买的安卓手机,心里都充满了期待和好奇?想象那流畅的操作、丰富的应用,还有那无...
奥迪安卓手机推荐系统,奥迪安卓... 你有没有想过,如果你的手机能像奥迪一样,拥有智能的推荐系统,那该多酷啊!想象每次你打开手机,它就像一...
蓝脉健康安卓系统,引领健康生活... 你知道吗?最近在手机界可是掀起了一股新的健康风潮,那就是蓝脉健康安卓系统。这可不是普通的系统,它可是...
葫芦侠toot安卓系统,探索创... 你知道吗?最近在安卓系统圈子里,有个小家伙引起了不小的轰动,它就是葫芦侠toot安卓系统。这可不是一...
小白测评原生安卓系统,原生安卓... 最近手机圈里可是热闹非凡呢!一款名为“原生安卓系统”的新产品横空出世,吸引了众多“小白”用户的目光。...
安卓系统怎么关闭权限,轻松关闭... 手机里的安卓系统是不是感觉有点儿“贪吃”啊?它总是时不时地要求你给它开个权限,有时候你都不知道它要干...
安卓系统怎么注销王者,安卓系统... 你是不是也和我一样,对那个火爆的王者荣耀爱不释手?但是,有时候生活就像一场游戏,总得适时地按下暂停键...
安卓系统小说怎么找,轻松找到你... 你有没有想过,在安卓系统的手机上找一本好看的小说,竟然也能变成一场小小的探险呢?别看它只是轻轻一点的...
安卓平板有系统吗,系统功能与特... 你有没有想过,安卓平板是不是也有自己的系统呢?这可是个有趣的问题哦!想象你手中的平板电脑,是不是也像...
坚果投屏安卓系统,轻松实现手机... 你有没有想过,家里的电视屏幕那么大,却只能用它来看电视?现在,有了坚果投屏安卓系统,你就可以把手机上...
iphonex系统升级安卓,探... 你有没有发现,最近身边的朋友都在议论纷纷,说他们的iPhone X要升级系统了?没错,就是那个一直备...
安卓原生系统是怎样,从源代码到... 你有没有想过,为什么你的安卓手机总是那么流畅,那么个性化?这背后,就是安卓原生系统的神奇魅力。今天,...
安卓系统触屏校验,技术解析与实... 你有没有遇到过这种情况?手机屏幕上突然跳出个验证码,让你输入验证码才能继续操作。这可不是什么新鲜事,...
安卓系统重做系统怎么弄,轻松实... 手机用久了,是不是觉得安卓系统有点卡,想给它来个大变身?别急,今天就来手把手教你如何给安卓系统来个焕...
1520怎么用安卓系统,安卓系... 你手里那台1520安卓系统手机,是不是还在犹豫怎么玩转它呢?别急,今天就来给你详细说说,怎么让这台老...
安卓系统丢了怎么定位,安卓系统... 手机里的安卓系统突然不见了,这可怎么办呢?别急,今天就来教你怎么定位丢失的安卓系统,让你的手机重新找...
安卓系统加入视频解码,安卓系统... 你知道吗?最近安卓系统又来了一次大升级,这次可是加入了视频解码功能哦!是不是听起来就让人兴奋不已?那...