发现问题
在前端页面中远程调用服务器接口时报403错误,而直接在浏览器访问则不会报错。
Ajax调用结果:
![ajax调用结果](https://i-blog.csdnimg.cn/blog_migrate/273d6acdf16fcc499968cc69dfafc85f.png)
浏览器调用结果:
![浏览器调用结果](https://i-blog.csdnimg.cn/blog_migrate/eb9ee10ca2ce0d348041e1eb12ee0077.png)
报403原因
经过分析发现是因为前端和服务器的域名不同而触发了防盗链机制。
防盗链机制
防盗链机制是基于http请求头的referer实现的,refer就相当于浏览器页面地址的id,浏览器向服务器发起请求时,会携带referer,服务器通过referer来判断是否是自己的域名,如果不是就会拒绝访问,如果是,则继续访问。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/abb523690833ad046d8f049db90bb683.png)
解决办法
对于自身项目而言,解决跨域问题可以通过代码设置允许的域。代码如下:
@Configuration
public cla