Windows环境下Nginx反向代理本地HTTPS服务的证书问题求助
Windows环境下Nginx反向代理本地HTTPS服务的证书问题求助
各位好,我最近在配置Nginx反向代理的时候卡在了证书环节,完全搞不清整个链路里的证书该怎么配合工作,想请大家帮忙梳理一下。
我的具体环境和配置是这样的:
- 我在Windows机器上跑了一个Web应用,这个应用只通过HTTPS协议,在https://localhost:8080 对外提供服务(特意强调下是HTTPS,不是HTTP)
- 同一台机器上我部署了Nginx,用来做反向代理,把这个本地服务发布到公网域名domainname.com
目前Nginx的配置我已经配好了公网的合法SSL证书,用的是Let's Encrypt的证书,配置代码如下:
server { listen 443; server_name domainname.com; access_log /var/log/nginx/access.log; ssl_certificate /etc/letsencrypt/live/domainname.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/domainname.com/privkey.pem; location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass https://localhost:8080; proxy_read_timeout 90; } }
现在我困惑的点在于:Nginx已经配置了公网的合法证书,但是反向代理的目标是本地的HTTPS服务(https://localhost:8080),那本地这个服务的证书该怎么处理?比如:
- 如果本地服务用的是自签名证书,Nginx会不会因为不信任这个证书而无法成功代理?
- 有没有办法在Nginx里配置忽略本地服务的证书验证?
- 还是说我必须给本地服务也配置一个被信任的证书?
希望有懂的朋友能帮我理清这个逻辑,或者给我一些具体的配置建议,谢谢大家!
备注:内容来源于stack exchange,提问作者q0re
相关产品推荐
相关产品推荐

