跨域:只要协议,ip,端口不一样就会跨域,而服务器与服务器之间没有跨域,
一、通过nginx代理的方式解决
nginx配置如下
location /count {
proxy_pass http://127.0.0.1:49040/test;
proxy_set_header X-Forwarded-For $remote_addr;
}
proxy_set_header配置是为了后端能获取访问的真实ip地址,
java获取ip地址的方法如下
String ip="";
if (request.getHeader("x-forwarded-for") == null) {
ip= request.getRemoteAddr();
}
else{
ip= request.getHeader("x-forwarded-for");
}
前端发送请求代码
<script type="text/javascript" src="https://cdn.bootcss.com/axios/0.18.0/axios.min.js"></script>
axios.get(url).then(response => (console.log(response)));
二、Gate网关配置
spring:
cloud:
gateway:
discovery:
# 跨域
globalcors:
corsConfigurations:
'[/**]':
allowedHeaders: "*"
allowedOrigins: "*"
allowedMethods:
- GET
POST
DELETE
PUT
OPTION
三、@CrossOrigin注解
在controller上添加注解,详细使用自行百度