`
aaronchenwei
  • 浏览: 8190 次
文章分类
社区版块
存档分类
最新评论

在Nginx上配置CORS

阅读更多
Cross-Origin Resource Sharing (CORS)是W3C出的一个标准,是用来解决JavaScript跨域调用的问题。以下是在Nginx上面配置CORS。

location / {
        if ($request_method = 'OPTIONS') {
        add_header 'Access-Control-Allow-Origin' '$http_origin';
        #
        # Om nom nom cookies
        #
        add_header 'Access-Control-Allow-Credentials' 'true';
        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' 'Authorization,Content-Type,Accept,Origin,User-Agent,DNT,Cache-Control,X-Mx-ReqToken,Keep-Alive,X-Requested-With,If-Modified-Since';
        #
        # 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' '$http_origin';
        add_header 'Access-Control-Allow-Credentials' 'true';
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
        }

        if ($request_method = 'GET') {
        add_header 'Access-Control-Allow-Origin' '$http_origin';
        add_header 'Access-Control-Allow-Credentials' 'true';
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
        }

}


在如上的配置当中,'Access-Control-Allow-Origin'用了'$http_origin',这样是适用于开发环境,这样多台开发测试设备都可以跨域请求。当上了生产环境,出于安全考虑,最好设置一个白名单来限制访问的设备。



分享到:
评论

相关推荐

    nginx-cors-config.zip_cors_nginx

    【标题】"nginx-cors-config.zip_cors_nginx" 提供了一个关于如何在 Nginx 服务器上配置 CORS(跨源资源共享)的解决方案。CORS 是一种机制,它允许 Web 应用程序从不同的源(比如不同的域名)请求资源,以克服...

    在各种服务器(nginx,apache,tomcat)上设置CORS跨域设置.zip

    本压缩包包含了在三种主流服务器——Apache、Nginx和Tomcat上设置CORS的方法。 **Apache服务器** Apache服务器可以通过修改`.htaccess`文件或者配置httpd.conf文件来实现CORS设置。在`.htaccess`文件中,可以添加...

    nginx如何配置代理转发

    在IT行业中,Nginx是一款广泛应用的高性能HTTP和反向代理服务器...以上就是Nginx配置代理转发的基本知识和实践要点。实际应用中,根据具体需求调整配置,灵活运用Nginx的强大功能,可以实现复杂的服务架构和流量管理。

    Nginx跨域配置.zip

    主配置文件包含了Nginx服务器的全局设置、http上下文、server上下文和location上下文。外置配置文件常用于分离不同功能或站点的配置,通过`include /path/to/your/conf/file;`指令引入。 五、Nginx跨域配置 1. ...

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

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

    Nginx安全配置指南技术手册.pdf(应用技术指南).txt

    正确配置CORS策略可以防止跨站请求伪造(CSRF)攻击。 ```nginx add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; add_header 'Access-Control-...

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

    后端配置:在后端配置中,需要配置 Nginx 的反向代理功能,以将前端请求代理到后端服务器上。 服务器配置:在服务器配置中,需要配置 Nginx 的端口和 IP 地址,以确保服务器的安全性。 三、Nginx 配置方面 Nginx ...

    SpringMVC CORS跨域测试包

    - **CorsRegistry配置**:在Spring Boot应用中,可以通过配置WebMvcConfigurer接口的`addCorsMappings`方法来全局配置CORS。 ```java @Configuration public class CorsConfig implements WebMvcConfigurer { ...

    Nginx 从入门到实践.docx

    2. 跨域:Nginx 可以使用 CORS 配置来解除跨域限制。 Nginx 的安装和配置 1. 安装 Nginx:可以使用 yum 或 rpm 等工具来安装 Nginx。 2. 配置 Nginx:Nginx 的配置文件是 nginx.conf,可以使用文本编辑器来修改...

    docker-nginx-ccrp:Nginx Cors缓存反向代理

    通过运行Nginx反向代理来解决CORS问题,该代理会将请求缓存到源API。 要求 码头工人 配置 检查default.conf的serverblock。 至少您需要更改。 该配置的为并且提供了一些选项以从响应中隐藏某些标头。 在查看Nginx...

    打破壁垒:Nginx中跨域资源共享(CORS)配置全指南

    Nginx最初由俄罗斯的程序员Igor Sysoev开发,并在2004年首次发布。后来,Nginx的开发和维护由Nginx公司支持。 ### Nginx的主要特点包括: 1. **高并发处理能力**:Nginx能够高效地处理大量并发连接,这得益于其...

    nginx下载安装使用

    ### 三、Nginx配置 Nginx的配置文件通常位于`/etc/nginx/nginx.conf`(Linux)或`nginx.conf`(Windows)。主要配置部分包括全局块、events块、http块、server块和location块。 1. **启动Nginx**:在安装目录下,...

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

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

    nginx解决前后分离开发跨域问题

    在处理跨域问题时,我们可以通过修改Nginx的配置文件来实现反向代理。 首先,你需要解压提供的`nginx-1.13.9`压缩包,这包含了Nginx的源码和配置文件。安装Nginx之前,确保你的系统满足其依赖条件,然后按照官方...

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

    在Nginx配置文件中,我们可以通过在`location`指令块内添加特定的`add_header`指令来设置CORS相关的HTTP响应头。下面是Nginx配置跨域请求时常用的几个`add_header`指令: 1. `Access-Control-Allow-Origin`:此响应...

    nginx解决跨域案例

    例如,如果你的前端应用部署在`http://frontend.example.com`,后端API部署在`http://api.example.com`,你可以将Nginx配置为: ```nginx location /api { proxy_pass http://api.example.com/api; # 注意这里...

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

    通过Nginx配置CORS,可以方便地管理跨域策略,使Web应用能够更灵活地与其他源进行交互。 总之,理解Nginx配置跨域请求的原理和实践方法对于现代Web开发者来说至关重要。通过设置正确的CORS头,可以确保Web应用能够...

    nginx-verdaccio.zip

    在与Verdaccio集成时,你需要配置一个server块,将所有指向npm仓库的请求代理到运行Verdaccio的服务器上。 2. `verdaccio.yaml`或类似的配置文件:这是Verdaccio的配置文件,用于设置用户认证、存储路径、日志级别...

    通过nginx实现跨域请求

    文件名 "nginx_cors" 可能包含的是一个示例Nginx配置文件,演示了如何配置跨域请求。这个文件可能包括了上述提到的各种指令,供用户参考和应用到自己的环境中。通过阅读和理解这个文件,开发者可以更好地理解和实践...

Global site tag (gtag.js) - Google Analytics