1.代码里面
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
// .allowedOrigins(corsips)
.allowedOrigins("*")
.allowedMethods("GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS")
.allowCredentials(true)
.maxAge(3600)
.allowedHeaders("*");
}
2.基于浏览器同源同侧问题,nginx代理静态页面的同时代理后端接口
server
{
listen 80;
listen 443 ssl http2;
server_name 代理域名;
index index.html index.htm default.htm default.html;
root /www/code/****;
#一键申请SSL证书验证目录相关设置 续签的时候 http文件验签用
location ~ \.well-known{
allow all;
}
location /proxyApi/ {
proxy_pass http://localhost:12001/; #修改此地址为后台服务地址
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_connect_timeout 1;
proxy_buffering off;
chunked_transfer_encoding off;
proxy_cache off;
proxy_send_timeout 30m;
proxy_read_timeout 30m;
client_max_body_size 100m;
}
location /proxyMsg/ {
proxy_pass http://127.0.0.1:12002;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}
access_log /www/wwwlogs/代理域名.log;
error_log /www/wwwlogs/代理域名.error.log;
}
以前搞得都是静态页面是一个二级域名代理,后台接口是一个二级域名代理,这样不同源,老跨域
3.websocket,新版本谷歌浏览器的问题