young杨羊 2023-03-16 16:45 采纳率: 27.3%
浏览 101

nginx,配置成https,导致原本http请求变成https请求,访问不到数据。

前端项目,页面上访问第三方的地址以http开头,如下

img


现在前端项目部署在nginx上进行反向代理,配置成https。
导致页面上访问第三方地址变成以https开头啦,如下

img

所以导致访问不了数据,因为第三方只开放http请求,变成https请求所以请求不到数据。
有没有解决方案啊?

  • 写回答

5条回答 默认 最新

  • 追cium 2023-03-16 16:46
    关注

    参考GPT和自己的思路:

    您好,这个问题可以采用 nginx 的反向代理来解决。具体的解决方案如下:

    1. 首先您需要安装 SSL 证书,如 Let's Encrypt,来启用 HTTPS 协议。

    2. 在 Nginx 配置文件中,添加以下配置:

    server {
        listen 443 ssl;
        server_name yourdomain.com;
        ssl_certificate /path/to/yourdomain.com.crt;
        ssl_certificate_key /path/to/yourdomain.com.key;
        
        location / {
            proxy_pass http://your-third-party-api-url;
        }
    }
    
    1. 然后重启 Nginx 服务。

    这样,当您的前端项目访问第三方地址时,Nginx 会将请求转发到第三方 API 的地址,并将响应返回给前端页面。

    这个方案可以解决原本 http 请求变成 https 请求导致的访问不到数据的问题。希望对您有所帮助。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月16日