nginx 配置 http 反代 https
访问前端已经配置好了 ssl 证书,由于是前后端分离,而后端的接口不想去再麻烦地使用 https,所以,就利用 nginx 的反代来解决这个问题。之所以会有这个问题,是因为 https 网页中不支持 http 的请求。
1 |
|
这里,把 ip_address
换成实际的 ip 地址,把
port
换成实际的后端的端口号。
然后,前端的 base_url 我本来是有带上接口的,而经过 nginx 这么一转换,其实是不用了,
1 |
|
这样一来,例如,我在请求
https://fanyfull.xyz/api/tag/list
的时候,最后实际请求的是
http://ip_address:port/api/tag/list
,这样,后端就不用去配置证书,就使用原本的
http 协议就可以为前端所使用了。
下面附上 chatgpt 给我的回答,
要使用 Nginx 将前端访问后端接口的协议从 HTTPS 转为 HTTP,您可以使用
Nginx 的 proxy_pass
指令来实现。以下是一个示例配置,假设前端应用程序部署在 HTTPS
上的根目录,后端接口部署在HTTP上的 /api
路径下:
1 |
|
请注意替换以下内容:
example.com
:您的域名。/path/to/ssl_certificate.crt
和/path/to/ssl_certificate.key
:您的 SSL 证书和私钥的路径。/path/to/frontend
:前端应用程序的根目录路径。http://backend_server_ip:backend_server_port
:后端接口的地址和端口。
此配置中,Nginx 监听 443
端口,通过HTTPS将前端应用程序提供给用户。当用户访问根目录时,Nginx将提供前端应用程序的静态文件。当用户访问
/api
路径时,Nginx 将通过 proxy_pass
指令将请求代理到后端接口的 HTTP 地址。
确保在您的服务器上安装了 Nginx,并使用此配置文件进行相应的更改和调整。重启 Nginx 后,您的前端应用程序应该能够通过 HTTPS 访问,并通过 Nginx 代理将后端接口请求转发为 HTTP。
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!