spring boot跨域的奇怪问题

最近在做项目时,前端总是跟我说,怎么跨域了?
我总觉得奇怪,这个跨域的问题,很好解决呀,就一个类配置就可以了,但为什么总是不行呢?
问题是:

  1. ip调用IP正常,没有跨域
  2. IP调用域名,提示跨域。
  3. 域名调用域名,提示跨域了。
    4.域名调用IP,提示跨域了

后面经发现,是nginx配置问题,前端调用后端时,做了一个转发,示例如下:

 location ^~ /sys/log {
    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_pass http://log/sys_log/sys/log;
  }

咋一看,这个nginx配置很正常,没啥问题。
细看,转发的时候,设置了一个header,为host
这个影响了跨域的配置,让跨域不生效。
删除proxy_set_header Host $host这行就可以了。

你可能感兴趣的:(spring boot跨域的奇怪问题)