You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

同一服务器内跨端请求遇CORS错误,求解决方案

解决/login接口的CORS错误问题

先确认Nginx转发配置是否正确

你的核心问题大概率是Nginx没有把/login请求正确转发到7958端口的后端,或者转发时没处理好预检请求(OPTIONS)。先检查你的Nginx配置,确保/login路径的请求被代理到后端,并且正确配置CORS头:

server {
    listen 80;
    server_name 你的域名;

    # 处理前端页面请求,代理到Svelte的5173端口
    location / {
        proxy_pass http://localhost:5173;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        
        # 前端页面的跨域头(如果需要)
        add_header Access-Control-Allow-Origin *;
        add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
        add_header Access-Control-Allow-Headers Content-Type;
    }

    # 关键:把/login请求代理到后端7958端口
    location /login {
        proxy_pass http://localhost:7958;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;

        # 处理浏览器的OPTIONS预检请求,必须返回204
        if ($request_method = OPTIONS) {
            add_header Access-Control-Allow-Origin *;
            add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
            add_header Access-Control-Allow-Headers Content-Type;
            add_header Content-Length 0;
            add_header Content-Type text/plain;
            return 204;
        }

        # 给实际请求添加CORS头
        add_header Access-Control-Allow-Origin *;
        add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
        add_header Access-Control-Allow-Headers Content-Type;
    }
}

排查后端服务的响应头

用curl直接测试后端的/login接口,看它自己返回的CORS头是否和Nginx的冲突:

curl -I -X POST http://localhost:7958/login

如果后端返回了Access-Control-Allow-Origin但和Nginx设置的不一样,浏览器会报错。可以在Nginx的/login location里加一行proxy_hide_header Access-Control-Allow-Origin;,强制用Nginx的头覆盖后端的。

检查前端请求地址

确保前端代码里请求的是/login,而不是直接写http://localhost:7958/login。如果前端直接访问7958端口,那属于跨域(前端在5173端口),这时候Nginx的配置没用,必须让前端走域名的路径,由Nginx转发。

最后清除浏览器缓存

开发者工具里打开Network标签,勾选「Disable cache」,再重新测试,避免旧的响应头缓存导致配置不生效。


内容的提问来源于stack exchange,提问作者user3097328

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 11:17:27