nginx里配置跨域

发布于 881天前  作者 wendal  1404 次浏览  复制  上一个帖子  下一个帖子

标签: nginx 跨域

    if ($request_method = OPTIONS ) {
        add_header Access-Control-Allow-Origin "*";
        add_header Access-Control-Allow-Methods "GET, OPTIONS, POST, GET";
        add_header Access-Control-Allow-Headers $http_access_control_request_headers;
        add_header Access-Control-Allow-Credentials "true";
        add_header Content-Length 0;
        add_header Content-Type text/plain;
        return 200;
    }
    if ($request_method != OPTIONS ) {
        add_header Access-Control-Allow-Origin "*";
        add_header Access-Control-Allow-Credentials "true";
    }

14 回复

Rekoe  1楼•881天前

yes

sunhai1988  2楼•592天前

我配置nutzwk open api的时候 遇到这个问题。如果使用了反向代理怎么处理呢?

No ‘Access-Control-Allow-Origin‘ header is present on the requested resource. Origin ‘http://192.168.40.231:8080‘ is therefore not allowed access.
原配置

 location / {
          proxy_pass http://nutz;
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection $http_connection;
 }

}
upstream nutz{

          server 127.0.0.1:8080;
          keepalive 65;
}

wendal  3楼•592天前

访问的是8080?? 不是nginx的80?

sunhai1988  4楼•592天前

访问的是 80 反向代理到 8080

sunhai1988  5楼•592天前

访问的 443

sunhai1988  6楼•592天前

走https

wendal  7楼•592天前

但这里报的是8080呢, Chrome控制台看看请求到哪里去了

sunhai1988  8楼•592天前

8080是我本机开发环境。

我在开发环境一个项目中,调用线上的api接口,然后提示线上的服务,禁止跨域访问

wendal  9楼•592天前

那,我写的那段代码,你贴在nginx.conf的什么地方了?

sunhai1988  10楼•592天前

@wendal 在location /{} 里面

来自炫酷的 NutzCN

wendal  11楼•592天前

执行一下curl,贴一下头部的输出

curl -v http://xxx.x.x..x.x/yyyyy

sunhai1988  12楼•590天前

curl -v https://***.***.com/

> GET / HTTP/1.1
> Host: **.***.com
> User-Agent: curl/7.50.3
> Accept: */*
>
< HTTP/1.1 302 Found
< Server: nginx
< Date: Mon, 31 Oct 2016 01:10:56 GMT
< Content-Length: 0
< Connection: keep-alive
< X-Powered-By: nutz/1.r.58 <nutzam.com>
< Location: http://***.****.com/sysadmin
< Strict-Transport-Security: max-age=15768000

sunhai1988  13楼•589天前

我用过滤器的方式解决了。。有时间在配置nginx吧

GlobalsSettingProcessor

ac.getResponse().addHeader("Access-Control-Allow-Origin", "*");

ecoolper(crskyp)  14楼•302天前

收藏了

    if ($request_method = OPTIONS ) {
        add_header Access-Control-Allow-Origin "*";
        add_header Access-Control-Allow-Methods "GET, OPTIONS, POST, GET";
        add_header Access-Control-Allow-Headers $http_access_control_request_headers;
        add_header Access-Control-Allow-Credentials "true";
        add_header Content-Length 0;
        add_header Content-Type text/plain;
        return 200;
    }
    if ($request_method != OPTIONS ) {
        add_header Access-Control-Allow-Origin "*";
        add_header Access-Control-Allow-Credentials "true";
    }

原文地址:https://www.cnblogs.com/telwanggs/p/9181311.html

时间: 2024-10-11 05:24:39

nginx里配置跨域的相关文章

nginx中配置跨域支持功能

vi /etc/nginx/nginx.conf 加入如下代码 http {  ###start####  add_header Access-Control-Allow-Origin *;  add_header Access-Control-Allow-Headers X-Requested-With;  add_header Access-Control-Allow-Methods GET,POST,OPTIONS;  ###end ###} :wq!保存 service nginx re

nginx配置跨域、gzip加速、代理详细讲解

1.配置跨域 这个很简单,直接打开配置nginx.conf ,在http下配置下面三行代码:当然如果你是想某一个虚拟主机下跨域,那就在哪个server下面添加 add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Headers X-Requested-With; add_header Access-Control-Allow-Methods GET,POST,OPTIONS; 2.配置gzip,压缩访

CORS跨域与Nginx反向代理跨域优劣对比

最近写了一些关于前后端分离项目之后,跨域相关方案的基本原理和常见误区的帖子,主要包括CORS和Nginx反向代理.这两种方案项目中都有在用,各有优缺,关于具体使用哪种方案,大家的观点也不大一致,本文主要就此展开一下,从前后端及服务器配置.安全性.移植灵活性.扩展性等方面详细对比一下两种方案的优缺,以便于后期在方案选型上对大家有所帮助. 前端配置 CORS方案:跨域时部分浏览器默认不携带cookie,因此为了携带cookie需要设置一下xmlhttprequest的withCrendetails属

phpstudy nginx设置CORS跨域不起作用的可能解决方法

今天搞了半天的跨域问题,想通过nginx配置跨域,希望以后本地调试程序都不用为这件事烦心.无非就是设置几个请求头: add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Methods *; add_header Access-Control-Allow-Headers *; 但是配置半天没配好,真的是半天..后来配好了,在此分享给大家,希望给大家一点帮助. 请求PHP文件报错CORS 配置那三行,不能

7. Nginx资源的跨域访问

我们可以通过 add_header 指令,对 Response Header 项进行设置 add_header 语法使用说明:http://nginx.org/en/docs/http/ngx_http_headers_module.html add_header Access-Control-Allow-Origin *; 如果配置为 *,则表示允许任何跨域请求.由于会存在跨域攻击的风险,实际开发中很少会这样配置 专题阅读 1. Nginx的优点 2. Nginx的安装与开机自启 3. Ngi

System.Web.Http.Cors配置跨域访问的两种方式

System.Web.Http.Cors配置跨域访问的两种方式 使用System.Web.Http.Cors配置跨域访问,众多大神已经发布了很多文章,我就不在详细描述了,作为小白我只说一下自己的使用心得.在webapi中使用System.Web.Http.Cors配置跨域信息可以有两种方式.  一种是在App_Start.WebApiConfig.cs的Register中配置如下代码,这种方式将在所有的webapi Controller里面起作用. using System; using Sys

win2003 配置跨域邮件服务器

win2003 配置跨域邮件服务器

vue开发环境配置跨域,一步到位

本文要实现的是:使用vue-cli搭建的项目在开发时配置跨域,上线后不做任何任何修改,接口也可以访问,前端跨域解决方案 production:产品 生产环境 development:开发 开发环境 1.开发环境设置跨域 使用工具:vue-cli自带的配置 配置目录 /config/index.js //自行复制黏贴 proxyTable: { '/apis':{ target: 'http://10.1.63.26:19080/', // 后台api changeOrigin: true, //

nginx配置跨域访问

前端要在本地测试ajax接口,无法跨域访问,所以在测试环境的nginx配置了跨域支持,方法如下: 在nginx.conf文件, http块下配置 42 #support cross domain access 43 add_header Access-Control-Allow-Origin *; 44 add_header Access-Control-Allow-Headers X-Requested-With; 45 add_header Access-Control-Allow-Meth