`
sean2012
  • 浏览: 46276 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

通过nginx实现跨域请求

阅读更多
 if ($request_method = 'OPTIONS') {
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
        #
        # Custom headers and headers various browsers *should* be OK with but aren't
        #
        add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
        #
        # Tell client that this pre-flight info is valid for 20 days
        #
        add_header 'Access-Control-Max-Age' 1728000;
        add_header 'Content-Type' 'text/plain charset=UTF-8';
        add_header 'Content-Length' 0;
        return 204;
     }
     if ($request_method = 'POST') {
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
        add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
     }
     if ($request_method = 'GET') {
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
        add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
     }

 

 把上面的配置保存成一个文件,例如:nginx_cors,引入到Nginx的代理配置中去

 

 location ~* ^/ {

                proxy_pass  http://www.jd.com;

                access_log   /var/log/nginx/jd-access.log main;

                include  /etc/nginx/nginx_cors;

                max_ranges 0;

            }

   再通过访问Nginx这台机器上的地址,就能跨域访问www.jd.com下所有非权限控制的资源和数据了。

分享到:
评论

相关推荐

    nginx实现跨域访问遇到的问题

    2. 配置 Nginx 上的砖发的 Nginx 配置问题导致无法实现跨域请求,是因为他的 Nginx 打在 Windows 系统上,Windows 和 Linux 在配置上有一点区别,在 Windows 上需要去掉 rewrite 的配置,去掉这个后来就好了。...

    nginx 配置跨域失效修复的方法示例

    nginx 配置跨域不生效 如下配置 server { listen 80; server_name localhost; # 接口转发 location /api/ { # 允许请求地址跨域 * 做为通配符 add_header 'Access-Control-Allow-Origin' '*'; # 设置请求...

    nginx解决跨域问题的实例方法

    跨域问题在现代Web开发中是一个常见...在实际项目中,可能还需要考虑其他安全措施,如配置CORS(Cross-Origin Resource Sharing)头,允许特定的跨域请求。不过,Nginx的反向代理方案已经能解决大部分基本的跨域问题。

    Nginx实现跨域使用字体文件的配置详解

    通过这种方式,Nginx可以作为一个有效的中间件,帮助处理跨域请求,使得字体文件在不同的源之间能够被正确地加载和显示。在实际应用中,应根据项目需求谨慎选择允许的源和请求方法,以确保应用的安全性和稳定性。

    nginx解决跨域案例

    通过以上配置,Nginx将允许`http://frontend.example.com`向`http://api.example.com`发起跨域请求,实现前后端的正常通信。 总结,Nginx作为强大的反向代理服务器,能够轻松地解决跨域问题。通过配置合适的响应头...

    Vue中跨域及打包部署到nginx跨域设置方法

    经过这样的配置后,前端项目在访问`/api`路径下的资源时,Nginx会将请求转发到后端服务器`***`,从而解决跨域问题。 总结来说,跨域问题是前后端分离开发过程中需要重点解决的问题之一。本文介绍了在Vue项目开发...

    深入浅析Nginx实现AJAX跨域请求问题

    为了在Nginx服务器上处理AJAX跨域请求问题,我们可以通过配置Nginx的HTTP响应头来解决。Nginx提供了一个指令`add_header`,可以用于添加额外的HTTP响应头,这里用它来添加与跨域相关的响应头。 具体操作如下: 1. ...

    Nginx配置跨域请求Access-Control-Allow-Origin * 详解

    本文将详细解释如何通过Nginx配置来实现跨域请求,并探讨相关技术背景。 首先,我们来看如何配置Nginx以允许跨域请求。在Nginx的配置文件(通常是/etc/nginx/nginx.conf或/etc/nginx/sites-available/default)中,...

    nginx跨域问题,解决多端口,多ip问题

    Nginx 跨域问题解决方案 Nginx 是一个流行的开源 Web 服务器软件,广泛应用于 Web 服务器管理。然而,在使用 Nginx 进行服务器管理时,...通过本文档,可以了解 Nginx 跨域问题的解决方法,并且可以应用于实际项目中。

    nginx服务器通过配置来解决API的跨域问题

    前言 最近在采用jquery ajax调用http请求时,发现了一系列问题: 如采用firebug调试API请求(这个API是自己服务器的应用),看到服务器明明返回200状态,response返回数据也是...后来才知道是跨域问题(CORS),因为

    跨域WebService请求-Nginx_SOAP服务_Ajax客户端.docx

    【SOAP】SOAP是一种基于XML的协议,常用于Web服务,它使用POST方法传递数据,这在跨域请求中受到浏览器安全策略的约束。因为JavaScript的同源策略不允许跨域POST请求,所以直接从Ajax客户端调用跨域的SOAP服务是不...

    nginx跨域配置

    介绍如何配置nginx实现跨域,简单明了,很方便。需要的自行下载

    nginx安装, 解决跨域问题

    本篇将详细介绍如何在Linux环境下安装Nginx,并通过修改配置文件来解决跨域限制。 ### Nginx安装步骤 1. **更新系统包** 在安装Nginx之前,确保系统包是最新的: ``` sudo apt-get update sudo apt-get ...

    nginx跨域代理

    为了解决这个问题,开发者通常会利用Nginx作为跨域代理服务器,通过配置Nginx的反向代理功能来实现跨域请求。本篇将详细讲解如何使用Nginx实现跨域代理,并以提供的`nginx-1.14.2`压缩包文件为例,介绍配置过程。 *...

    通过Nginx代理转发配置实现跨域的方法(API代理转发)

    主要给大家介绍了关于如何通过Nginx代理转发配置实现跨域(API代理转发)的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Nginx具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

    解决 springboot跨域请求问题

    SpringBoot应用可以通过配置CORS来允许特定或所有来源的跨域请求。在SpringBoot应用中,你可以创建一个配置类,比如`CorsConfig`,并添加一个`CorsFilter`。在`buildConfig`方法中,设置`CorsConfiguration`对象,...

    Nginx服务器中处理AJAX跨域请求的配置方法讲解

    Nginx 实现AJAX跨域请求 AJAX从一个域请求另一个域会有跨域的问题。那么如何在nginx上实现ajax跨域请求呢?要在nginx上启用跨域请求,需要添加add_header Access-Control*指令。如下所示: location /{ add_header ...

    利用Nginx反向代理解决跨域问题详解

    问题 在之前的分享的跨域资源共享的文章中,有提到... 基于与合作方后台的配合,利用nginx方向代理来满足浏览器的同源策略来实现跨域 实现方法 反向代理概念 反向代理(Reverse Proxy)方式是指以代理服务器来接受In

Global site tag (gtag.js) - Google Analytics