Proxy设置相关问题解决方案(待补充)

0
分享 2018-08-24
这篇文章作为对GitHub上proxy配置及调试相关内容的补充,汇总一下在proxy配置及调试中可能遇到的问题。
 
1. 浏览器测试Proxy 返回403 错误信息:Current proxy configuration settings do not allow requests which do not include a referer header
 
proxy.ashx 内可以查到报错这个信息的代码片段:
//Check to see if allowed referer list is specified and reject if referer is null
if (context.Request.Headers["referer"] == null && allowedReferersArray != null && !allowedReferersArray[0].Equals("*"))
{
log(TraceLevel.Warning, "Proxy is being called by a null referer. Access denied.");
sendErrorResponse(response, "Current proxy configuration settings do not allow requests which do not include a referer header.", "403 - Forbidden: Access is denied.", System.Net.HttpStatusCode.Forbidden);
return;
}




所以可以得知在列出的三个条件都满足时,会返回这个报错。那么我们可以一一来排除:当我们直接在浏览器进行proxy的测试的时候,请求大多数时候是不含referer header,这个可以通过查看浏览器Network的信息来确认,所以第一个条件在通过浏览器做请求时大多数时候为True。同样查询代码可知,allowedReferersArray是我们在proxy.config文件设置的ProxyConfig tag里allowedReferers用逗号做分割符的字符串。显然如果有设置allowedReferers,第二个条件肯定True。那我们再来看第三个条件,可知如果设置的该字符串里第一个逗号之前的字符如果不是*的话,该判断会True

4 个评论

Merry GISmas!
彩蛋!彩蛋!!
@_@

@_@ 回复 GIS知乎

Merry GISmas!
每个ID只需发现一个彩蛋即可中奖欧!请勿重复回复!

要回复文章请先登录注册