跨域问题 是我们常见的问题
解决方案一:
SpringBoot 中写配置类
解决方案二:
使用nginx进行 监听
将该配置 放到SpringBootApplication可以扫描到的地方
/**
* SpringBoot中解决跨域问题
*/
@Configuration
public class CrosConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*")
.allowCredentials(true)
.allowedMethods("GET", "POST", "DELETE", "PUT","PATCH")
.maxAge(3600);
}
}
// 适合前后端分离
registry
.addMapping("/**")//设置允许跨域的路径
.allowedOrigins("*")//设置允许跨域请求的域名
.allowedHeaders("Access-Control-Allow-Origin","*")
.allowedHeaders("Access-Control-Allow-Methods","*")
.allowedHeaders("Access-Control-Allow-Headers","*")
.allowedHeaders("Content-Type","*")
.allowCredentials(true)//是否允许证书 不再默认开启
.allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")//设置允许的方法
nginx 解决跨域问题 去 nginx.conf
注:下面的配置的代码 我只保留了 监听部分 其他自行调试
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
server {
#你要监听服务的端口
listen 18283;
server_name xxx.xxx.xxx.xx;
# 如果是这个请求 /minio/material_download 就让他代理到 http://127.0.0.1:9000
location /minio/material_download {
proxy_pass http://127.0.0.1:9000;
}
location /minio/download {
proxy_pass http://127.0.0.1:9000;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}