碰到的一个跨域问题:自定义header,接口请求不通

碰到的一个跨域问题:自定义header,接口请求不通,第1张

在和后台人员关于接口token的设置,我放在请求header中

结果,放到线上,请求报错:

Access to XMLHttpRequest at 'https:///Login/login' from origin '' has been blocked by CORS policy: Request header field x-token is not allowed by Access-Control-Allow-Headers in preflight response

一直以为是跨域的,后台能改的都改了。结果查资料才知道,是请求header中设置的x-token,在返回header中没有,将response的header里加上x-token就可以了。

浪费了好长时间,心好累

cesium加载所有外部资源都需要服务器端允许跨域;解决方法在服务器端;

1若服务端可控:添加跨域头

2若服务器端不可控:添加代理服务器

nginx添加代理示例:

location /3dtiles{

include nginx_cors;

proxy_set_header Host $host:$server_port;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_pass http://61181250183;

}

1、CORS的原理:CORS定义一种跨域访问的机制,可以让AJAX实现跨域访问。CORS 允许一个域上的网络应用向另一个域提交跨域 AJAX 请求。实现此功能非常简单,只需由服务器发送一个响应标头即可。

2、tomcat如何配置cors的跨域请求: 

在tomcat中,有一个和cors相关的拦截器:CORS Filter

该过滤器可以通过添加必需的访问控制请求头Access-Control-对象来进行跨域。同时还可以对一些请求进行拦截。如果请求是无效的,或者是不被允许的,该请求被拒绝或者禁止。 

其在webxml文件中的基本配置如下:

<filter>

        <filter-name>CorsFilter</filter-name>

        <filter-class>orgapachecatalinafiltersCorsFilter</filter-class>

        <init-param>

            <param-name>corsallowedorigins</param-name>

            <param-value>

                http://localhost:8080,

                https://localhost:8443

            </param-value>

        </init-param>

        <init-param>

            <param-name>corsallowedmethods</param-name>

            <param-value>

                GET,POST,HEAD,OPTIONS,PUT

            </param-value>

        </init-param>

        <init-param>

            <param-name>corsallowedheaders</param-name>

            <param-value>

                Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers,Access-Control-Allow-Origin

            </param-value>

        </init-param>

        <init-param>

            <param-name>corsexposedheaders</param-name>

            <param-value>

                Access-Control-Allow-Origin,Access-Control-Allow-Credentials

            </param-value>

        </init-param>

        <init-param>

            <param-name>corssupportcredentials</param-name>

            <param-value>true</param-value>

        </init-param>

        <init-param>

            <param-name>corspreflightmaxage</param-name>

            <param-value>10</param-value>

        </init-param>

    </filter>

    <filter-mapping>

        <filter-name>CorsFilter</filter-name>

        <url-pattern>/wxrefund/</url-pattern>

    </filter-mapping>

3、corsallowedorigins:允许访问资源的源列表。表示任何来源都可以访问该资源。否则,只有配置的白名单的来源可以访问该资源,其中白名单用逗号隔开,如http://localhost:8080,https://localhost:8443。

4、corsallowedmethods:允许访问的http请求方法,如GET,POST,HEAD,OPTIONS,PUT等,方法名用逗号隔开。

5、corsallowedheaders:在实际请求时可使用的请求头列表,用逗号隔开。如Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers,Access-Control-Allow-Origin。这些头也将返回作为访问控制的一部分。

欢迎分享,转载请注明来源:品搜搜测评网

原文地址:https://pinsoso.cn/meirong/2782441.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-12-29
下一篇2023-12-29

随机推荐

  • 网上购买化妆品怎么验真假?

    答:1:网购前:1)看卖家信用评价和客户对产品的评价;2)尽可能看到卖家的实拍图;3)其次就是了解商品的进货渠道,如果是进口商品的话,了解下商家具备不具备相关手续,这些与产品质量是息息相关的。4)到淘宝商城买,淘宝商城的卖家

    2024-04-15
    51400
  • 男士防晒喷雾什么牌子好

    妮维雅。妮维雅旗下男士防晒喷雾专门针对户外运动的男性,采用德国先进防晒技术,拥有高倍户外防晒指数,内含天然薄荷醇成分,产品使用起来冰爽不油腻,能够有效防水防汗,防止皮肤晒黑晒伤,值得广大消费者信赖。防晒喷雾前十强排行榜:安热沙、雅漾、曼秀雷

    2024-04-15
    45500
  • sk2精华露使用顺序

    第1个步骤就是先进行面部的清洁,清洁完了之后需要在脸上拍一点爽肤水,接着需进一步的修复,用旗下的补水保湿修复精华露来进行修复,那这款精华露当中所含有的pitera乃是神仙水的整整4倍,所以能达到强效保湿补水的效果,绝对是干皮的救星。在这个步

    2024-04-15
    48800
  • 妮维雅去黑头磨砂洁面乳用起来怎么样?

    每个人都希望自己能拥有白皙光滑的肌肤,但是,生活中有很多人的肌肤都出现问题,比如有些人的鼻子上长了黑头,那你们知道对于男性朋友来说,有哪些去黑头的方法呢?估计很多人都还不知道,下面,给大家具体介绍一下妮维雅去黑头磨砂洁面乳。1、妮维雅去黑头

    2024-04-15
    45200
  • 精华液哪款好用

    精华液是选贵的还是选口碑好的?我相信有无数的人都这么问?其实回答哪个都是错的,真正的答案是,还要好的,还要价格实惠的。我们都是大人,为什么不能尽量兼顾呢?所以今天我们就给大家介绍6款真正高口碑效果好,价格实在的精华液排行榜,让你绝对买的放心

    2024-04-15
    33900
  • spa流程怎么做

    SPA是希腊语SOLUSPARAQUA的缩写,意为健康在水中,是指人们利用天然的水资源结合沐浴、按摩和香薰中促进新陈代谢,满足人体视觉、味觉、触觉、嗅觉和思考,达到一种身心从航快的享受。随伊姿贝尔小编一起走进曼妙,芬芳的SPA护理,看看身体

    2024-04-15
    29000
  • 厦门特色小吃有哪些?

    正宗的厦门特色小吃土笋冻、海蛎饼、沙茶面、台湾大肠包小肠、鸡排、冰品等。沙茶面一直是赫赫有名的,在外人的口碑中乌糖沙茶面的名气最高,虽然土著说本地人也知道,但是土著说,要说老牌美味,还是四里沙茶面才是真爱。位于厦门湖滨的四里菜市场的四里沙茶

    2024-04-15
    28500

发表评论

登录后才能评论
保存