我采用springcloud架构,前后端分离开发,项目报跨域错误,请大神帮我看看
报错信息
网关配置
@Configuration
public class GlobalCorsConfig {
@Bean
public CorsFilter corsFilter() {
//1.添加CORS配置信息
CorsConfiguration config = new CorsConfiguration();
//1) 允许的域,不要写*,否则cookie就无法使用了
config.addAllowedOrigin("http://manage.utmi.com");
config.addAllowedOrigin("http://api.utmi.com");
config.addAllowedOrigin("http://www.utmianimal.com");
//2) 是否发送Cookie信息
config.setAllowCredentials(true);
//3) 允许的请求方式
config.addAllowedMethod("OPTIONS");
config.addAllowedMethod("HEAD");
config.addAllowedMethod("GET");
config.addAllowedMethod("PUT");
config.addAllowedMethod("POST");
config.addAllowedMethod("DELETE");
config.addAllowedMethod("PATCH");
// 4)允许的头信息
config.addAllowedHeader("*");
// 5) 有效时长
config.setMaxAge(3600L);
//2.添加映射路径,我们拦截一切请求
UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource();
configSource.registerCorsConfiguration("/**", config);
//3.返回新的CorsFilter.
return new CorsFilter(configSource);
}
}```
前端项目配置
axios.defaults.baseURL = "http://api.utmi.com/api";
axios.defaults.timeout = 5000;
axios.defaults.withCredentials = true
nginx配置
server {
listen 9003;
server_name www.utmianimal.com;
location / {
proxy_pass http://192.168.0.89:9003;
}
}
server {
listen 80;
server_name www.utmianimal.com;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / {
proxy_pass http://192.168.0.89:9003;
proxy_connect_timeout 600;
proxy_read_timeout 600;
}
}
server {
listen 80;
server_name api.utmi.com;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#upload api
location /api/upload {
proxy_pass http://192.168.0.89:8085;
proxy_connect_timeout 600;
proxy_read_timeout 600;
rewrite "^/api/(.*)$" /$1 break;
}
location / {
proxy_pass http://192.168.0.89:10011;
proxy_connect_timeout 600;
proxy_read_timeout 600;
}
}
include /etc/nginx/conf.d/*.conf;
}
网关是使用的gateway吗?如果是gateway的话直接在配置文件里配置就好