V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
ClancyH
V2EX  ›  Java

tomcat 解决跨域时 Access-Control-Allow-Origin 不能为*

  •  
  •   ClancyH · Jun 4, 2019 · 5124 views
    This topic created in 2522 days ago, the information mentioned may be changed or developed.
    用 Tomcat9.0.16 的 CorsFilter 解决跨域的时候前端访问出现了 Access-Control-Allow-Origin 不能为*的问题,之前一个同样的项目没碰到这个,难道 CorsFilter 的 origin 不是动态的吗?
    10 replies    2019-06-05 17:52:13 +08:00
    KYLINZZ
        1
    KYLINZZ  
       Jun 4, 2019
    带 cookie 的就不能为*,需要写上对应的 ip+端口号
    ClancyH
        2
    ClancyH  
    OP
       Jun 4, 2019
    @KYLINZZ 我知道,但是这个 tomcat 的 corsfilter 没有做吗?我之前用的时候没有做特殊的配置就正常的配一下 corsfilter 一样正常运行的同样是有 cookie 的
    JohnZorn
        3
    JohnZorn  
       Jun 4, 2019 via Android
    应该是 allow credentials 设置为了 true,这种可以将其调为 false,或从请求中获取到 ip 设置在 access-con....-origin 中
    ClancyH
        4
    ClancyH  
    OP
       Jun 4, 2019
    @choice4 allow credentials 不是默认 false 吗,我用的默认值,从请求获取 ip 在设置就是自己实现具体 filter,这个没问题,主要想知道为什么这次 tomcat 的 corsfilter 没有动态设置 origin,是使用姿势不对还是咋地
    cccy0
        5
    cccy0  
       Jun 4, 2019
    allow credentials == true 和 Access-Control-Allow-Origin * 不能同时存在
    ClancyH
        6
    ClancyH  
    OP
       Jun 5, 2019
    @cccy0 allow credentials 是默认值 false
    youngfish
        7
    youngfish  
       Jun 5, 2019
    CorsFilter 中的 origin 我们当时是通过配置文件实现的,需要添加域名,改配置文件就行了
    wc951
        8
    wc951  
       Jun 5, 2019 via Android
    spring 的 corsfilter 会在 allow credentials 为 true 且 allow
    origin 为*的时候把 Access-Control-Allow-Origin 设置为 request origin
    ClancyH
        9
    ClancyH  
    OP
       Jun 5, 2019
    @wc951 其实实现不难,主要想知道为什么 tomcat 的 corsfilter 这次不生效了,看了 tomcat 的源码之后发现 tomcat 好像没有做相关处理,都不知道为什么之前没出问题了
    wc951
        10
    wc951  
       Jun 5, 2019 via Android
    @ClancyH cors 分为简单请求和预检请求,你之前没出问题的应该是简单请求
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2241 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 00:43 · PVG 08:43 · LAX 17:43 · JFK 20:43
    ♥ Do have faith in what you're doing.