我使用Facebook身份验证与我的网站。Ngnx 1.2.3截断Facebook代码参数值,因为“#”
我使用Nginx 1.2.3。
产生实URL具有以下图案:
=“> https://www.mysite.net/profile.xhtml?state=dfecc191-5eb5-4e08-a514-bc70fdc17611 &代码= AQBKJ_1VuycE7 -DPigKfrAt9BLGQJww-p0RKY_Lta6uDxsaMUgzR98soPiOD6NDZ6kyU-NJUHmpAqEOSCxOKi7UGgh0fJSfC9kyh18FtSbQNJdyNEkkfaNtP9GMC8y25W6fOjyR2fj3OnQQTFDwmm-gckqofvhJsmnPSWgHxaan7uiaz_Wgc5JcdTu2DfzhOjqUQ_QG7X14jWDdq9CUtHuSV#=
正如你所看到的Facebook在末尾添加#_=_
代码参数值。
现在,如果您尝试使用#创建任何类型的URL GET,NGINX将在遇到#时停止解析请求,this for instance。
给出以下日志:
[16/8/2012:11:25:33 0200] “GET /index.html?value1=jo HTTP/1.1” 200 4976 “ - ”“ Mozilla的/ 5.0(Macintosh上,英特尔的Mac OS X 10_6_8)为AppleWebKit/537.1(KHTML,例如Gecko)Chrome浏览器/ Safari浏览器21.0.1180.79/537.1"
在我的情况下,Nginx的停止解析请求,并删除“# =“代码参数值!
有什么想法?
谢谢。 PS:这与Apache很好地结合在一起。
URL的片段部分与实际请求无关,只是用于跳转到页面上的锚点。所以我不明白,这是一个错误还是apache可以使它变得不同? – apfelbox 2012-08-16 13:25:31