访问 nginx 跨域如何解决

现在有一需求,前端上传文件,然后另一需求是通过 AJAX 获取该文件,故使用了 nginx 来让前端获取文件,但由于域名不同访问 nginx 发生了跨域问题,请问有什么解决思路

  • 跨域
    18 引用 • 95 回帖
  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    272 引用 • 531 回帖 • 533 关注
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    1810 引用 • 11785 回帖 • 578 关注

赞助商 我要投放

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • mufengcoding
    捐赠者

    反向代理解决跨域。如文所述 https://zhuanlan.zhihu.com/p/99321349

    1 回复
  • yechuan
    作者

    不是请求服务器跨域,使用 nginx 反向代理,而是请求 nginx 跨域,你理解错我的意思了

  • yechuan
    作者

    已更换为 apache,现在已经成功获取了

  • 233333
    捐赠者
    server{
        listen 80;
        server_name www.b.com;
        location / {
                add_header "Access-Control-Allow-Origin" "http://www.a.com";
                add_header "Access-Control-Allow-Methods" "GET, POST, OPTIONS";
                add_header "Access-Control-Allow-Headers" "X-Requested-With, access_token";
                add_header "Access-Control-Allow-Credentials" "true";
                add_header "Access-Control-Expose-Headers" "Date";
                if ($request_method = 'OPTIONS') {
                    add_header "Access-Control-Allow-Origin" "http://www.a.com";
                    add_header "Access-Control-Allow-Methods" "GET, POST, OPTIONS";
                    add_header "Access-Control-Allow-Headers" "X-Requested-With, acces_token";
                    add_header "Content-Type" "text/plain charset=UTF-8";
                    add_header "Content-Length" 0;
                    add_header "Access-Control-Max-Age" 1728000;
                    return 204;
                }
            }
    }