最近在需求中需要通过一个外链来访问客户网站,但是试了很多种跳转方式都不行。
以下是错误信息
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
问题原因:
当点击访问页面中外链地址时,会产生一个http请求(用于获取外链地址内容),此时出于安全策略(一些用户信息或登录信息会通过url传递),浏览器会在请求头中添加一个referrer,用来表示当前请求是从哪个页面跳转来的,也就是访问来源。当外链网站对访问做判断时,于是会出现诸如403 Forbidden、The HTTP request is not acceptable for the requested resource.问题。后端通常通过判断referrer存不存在来判定是否是一个盗链。现在问题已经知道了,剩下的就是解决了。我们需要将请求头的referrer给去掉
解决
在项目的index.html中加入
<meta name="referrer" content="no-referrer" />
关于referrer
referrer是用于追踪用户是从哪个页面跳转过来,设置为no-referrer,表示所有请求都不发送referrer.