风风风风~ 2025-06-21 11:22 采纳率: 0%
浏览 58

前端https无法访问后端http服务器

前端https无法访问后端http服务器
阿里云服务器centos上使用nginx服务器

我在阿里云服务器centos上使用nginx服务器部署了前端,已经购买了域名,并通过DNS解析至前端服务器ip,并配置了SSL证书,但是后端没有配置(开了两个服务器,一个vue前端和springboot后端),所以出现了下面的情况,望各位帮帮忙,调了很久了
,都没有成功。

img

问题如上

img

nginx配置如上

  • 写回答

4条回答 默认 最新

  • 阿里嘎多学长 2025-06-21 11:22
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    解决方案

    你遇到的问题是前端使用 HTTPS 协议无法访问后端使用 HTTP 协议的服务器,这是因为浏览器的同源策略限制了跨协议的请求。

    解决方案有以下几种:

    1. 使用 reverse proxy 你可以在 Nginx 服务器上配置 reverse proxy,将 HTTPS 请求转发到后端 HTTP 服务器。例如:
    http {
        ...
        server {
            listen 443 ssl;
            server_name example.com;
            location / {
                proxy_pass http://backend:80;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
            }
        }
    }
    

    其中,proxy_pass 指令将请求转发到后端 HTTP 服务器 http://backend:80proxy_set_header 指令将请求头信息传递给后端服务器。

    1. 使用 SSL/TLS 证书 你可以在后端服务器上安装 SSL/TLS 证书,使得后端服务器也支持 HTTPS 协议。这样,前端可以使用 HTTPS 协议访问后端服务器。

    2. 使用 WebSocket 如果你需要在前端和后端之间传输数据,可以使用 WebSocket 协议,它可以跨协议传输数据。

    需要注意的是,这些解决方案都需要根据你的具体情况进行调整和配置。

    评论

报告相同问题?

问题事件

  • 创建了问题 6月21日