本地Nginx无证书,配置https

前言
今天前端小姐姐找我要https的接口,说有个功能必须用https的才能用。平时后端接口都是http的,只有上线了,用Nginx反向代理后才变成https接口。找了几篇博客,都是线上的部署,没有本地无证书的部署方式,最终CSDN+ChatGPT轮番搜索下,发现了以下方法可以实现。

目录

  • 一. 准备工作
    • - 安装openssl
    • - 创建空文件
    • - 生成证书
      • (1)生成私钥文件
      • (2)生成自签名证书请求文件
      • (3)成自签名证书文件
  • 二. Nginx配置
  • 三.测试

一. 准备工作

- 安装openssl

该软件的功能就在本地生成证书
下载地址
选择对应版本,下载好后安装过程中选择默认选项
安装完成后,用管理员身份打开Dos命令窗口,然后进入openssl安装目录下的bin文件夹中

- 创建空文件

到nginx安装目录下,创建个名字为cert的文件夹
然后在该文件夹下面创建两个空文件,文件名字分别为private.keycertificate.csr
我的nginx安装目录为C:\work\Java\nginx\nginx-1.9.10

- 生成证书

(1)生成私钥文件

./openssl genpkey -algorithm RSA -out C:\work\Java\nginx\nginx-1.9.10\cert\private.key

(2)生成自签名证书请求文件

 ./openssl req -new -key C:\work\Java\nginx\nginx-1.9.10\cert\private.key -out C:\work\Java\nginx\nginx-1.9.10\cert\certificate.csr

执行该命令后,会让你输入各种信息,安装步骤,输入就可以了

(3)成自签名证书文件

./openssl x509 -req -in C:\work\Java\nginx\nginx-1.9.10\cert\certificate.csr -signkey C:\work\Java\nginx\nginx-1.9.10\cert\private.key -out C:\work\Java\nginx\nginx-1.9.10\cert\certificate.crt

输入该命令后出现Certificate request self-signature ok,则说明证书创建成功了
也可以到cert文件夹中去看看是否生成了个名为certificate.crt的文件
该证书有效期只有一个月

二. Nginx配置

server {
   listen       443;
   ssl on;
   server_name  localhost;
   ssl_certificate    ../cert/certificate.crt;
   ssl_certificate_key  ../cert/private.key;
   location /zhgdh5-api/ {
	    proxy_pass  http://localhost:8110/;
		proxy_set_header Host $http_host;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header REMOTE-HOST $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	}
}

如果已经启动nginx,重新载入下nginx.exe -s reload

三.测试

https://localhost/zhgdh5-api/swagger-ui.html

至此大功告成,可以给前端使用了文章来源地址https://uudwc.com/A/6zRe5

原文地址:https://blog.csdn.net/Wei_mo/article/details/131433785

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年09月05日 09:26
电梯SIP-IP五方对讲管理系统
下一篇 2023年09月05日 09:30