Welcome to Code Block's blog
本篇文章主要介绍了
[快速解决Nginx跨域问题]
❤博主广交技术好友,喜欢文章的可以关注一下❤
目录
项目场景:
项目场景:在集成nginx代理反向代理时,出现的跨域问题的解决方法。
问题描述
问题发生在nginx反向代理springboot后端应用时,前端请求后端时发生Cros错误,如下图所示。
编辑
原因分析:
1.Nginx作为代理服务,需要配置允许跨域
2.Springboot后台服务需要配置允许跨域请求
解决方案:
1.检查后台服务是否设置了允许跨域,设置方法如下:
@Configuration public class WebMvcConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedHeaders("Content-Type","X-Requested-With","accept,Origin","Access-Control-Request-Method","Access-Control-Request-Headers","token") .allowedMethods("*") .allowedOrigins("*") .allowCredentials(true); } /** * 支持PUT、DELETE请求 */ @Bean public FormContentFilter httpPutFormContentFilter() { return new FormContentFilter(); } }
2.检查nginx.conf配置文件是否允许跨域,在server配置内进行配置,配置方法如下:
add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS'; add_header Access-Control-Allow-Headers '*'; if ($request_method = 'OPTIONS') { return 204; }
编辑