zoukankan      html  css  js  c++  java
  • nginx*解决跨域

    /usr/local/nginx/conf/nginx.conf

    # 代理接口
    location ^~ /api/ {
        add_header Access-Control-Allow-Origin *;
        add_header Access-Control-Allow-Headers Origin,X-Requested-Width,Content-Type,Accept;
        proxy_set_header referer "http://shanghaimon.aegis-info.com";
        proxy_set_header host "shanghaimon.aegis-info.com";
        proxy_pass http://shanghaimon.aegis-info.com/api/;
    }

    location ^~ /qyapi/ {
        add_header Access-Control-Allow-Origin *;
        add_header Access-Control-Allow-Headers Origin,X-Requested-Width,Content-Type,Accept;
        proxy_set_header referer "https://qyapi.weixin.qq.com";
        proxy_set_header host "qyapi.weixin.qq.com";
        proxy_pass https://qyapi.weixin.qq.com/;
    }

    然后刷新配置

    /usr/local/nginx/sbin/nginx -s reload

    疑难杂症
    如果遇到
    'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed等等错误
    contains multiple values "*" 意思就是设置了2次跨域,但是只有一个是允许的。
    改动办法又很多,比如服务器直接允许option请求,服务器就直接可以被跨域访问了
    或者移除其中的任意一个就好了。如果服务器代码设置了允许跨域,使用Nginx代理里面就不需要了,或者移除服务器中的允许跨域

    location ^~ /country/ {
        if ($request_method = 'OPTIONS') {
            add_header Access-Control-Allow-Origin *;
            add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,PATCH,OPTIONS;
            add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range';
            return 200;
        }
        proxy_set_header referer "http://114.116.25.112:18116";
        proxy_set_header host "http://114.116.25.112";
        proxy_pass http://114.116.25.112:18116/;
    }
  • 相关阅读:
    Java String 类
    Java Number & Math 类
    String 方法
    创建格式化字符串
    定义存储过程如下:
    要创建一个EJB,必须要至少编写哪些Java类和接口?
    下面的那一个不属于MVC模式中的对象?
    下列哪个为JSP的隐含对象。
    以下声明正确的是。
    关于JSP生命周期的叙述,下列哪些为真?
  • 原文地址:https://www.cnblogs.com/dshvv/p/13729996.html
Copyright © 2011-2022 走看看