一、该问题的重现步骤是什么?
本地访问正常,发布到线上出现跨域问题
二、你期待的结果是什么?实际看到的又是什么?
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
版本:2.7.1.RELEASE Boot版 。本地win10 线上centos8 ,nginx
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
nginx
location ^~/api { 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_buffering off; # rewrite ^/api/(.*)$ /$1 break; proxy_pass http://127.0.0.1:10020; }
BladeConfiguration 代码:
@Configuration public class BladeConfiguration implements WebMvcConfigurer { /** * 跨域配置 */ @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedOrigins("*") .allowedHeaders("*") .allowedMethods("*") .maxAge(3600) .allowCredentials(true); } }
2021-01-29 14:24:52.020 WARN 240352 --- [ XNIO-1 task-1] o.s.web.servlet.PageNotFound : No mapping for OPTIONS /api/blade-auth/oauth/token
2021-01-29 14:24:52.031 ERROR 240352 --- [ XNIO-1 task-1] o.s.c.log.error.RestExceptionTranslator : 404没找到请求:No handler found for OPTIONS /api/blade-auth/oauth/token 2021-01-29 14:25:01.034 WARN 240352 --- [ XNIO-1 task-2] o.s.web.servlet.PageNotFound : No mapping for OPTIONS /api/blade-auth/oauth/token 2021-01-29 14:25:01.035 ERROR 240352 --- [ XNIO-1 task-2] o.s.c.log.error.RestExceptionTranslator : 404没找到请求:No handler found for OPTIONS /api/blade-auth/oauth/token
-
boot版本配置是没问题的,后端地址部署后支持跨域了。
你报错的配置有两个地方:1、前端nginx没有配置跨域,导致报错。2、反向代理出错,正常情况用/api来反向代理后端,那请求后到后端正确的地址是不带/api前缀才对。目前已带了,所以报错404。
你需要再检查一下nginx配置是否有问题,完整的可以看这个:https://sns.bladex.cn/q-184.html
讨论(1)
-
谢谢 已解决。 正确的 nginx 配置: location /api { proxy_pass http://127.0.0.1:10020/; }
讨论(0)
官方新品
- 热议问题
-
spingblade v3.7.1 blade-user 启动报错 No fallback instance of type class
1
-
skywalking的trace页块有数据,但是点击“查看日志”后跳转后的log页块没有日志数据
1
-
系统的接口没有被放行,却被漏扫扫出来
1
-
blade4.4版本,使用接口加解密的情况SensitiveType脱敏失效了
1
-
BladeX Boot 项目对应的前端也是Saber3吗
1
-
rider跨域问题,如何解决跨域的问题,不用nginx
1
-
Connection refused
1
-
系统运行那三个老问题报错,求回复啊
1
-
actuator暴漏敏感信息,如何彻底关闭;
1
-
skywalking无法根据elk的traceId找到对应的日志
1
扫一扫访问 Blade技术社区 移动端