ウェブサイトで Facebook 認証を使用しています。
Nginx 1.2.3 を使用しています。
Facebook は、次のパターンで URL を生成します。
=">https://www.mysite.net/profile.xhtml?state=dfecc191-5eb5-4e08-a514-bc70fdc17611&code=AQBKJ_1VuycE7-DPigKfrAt9BLGQJww-p0RKY_Lta6uDxsaMUgzR98soPiOD6NDZ6kyU-NJUHmpAqEOSCxOKi7UGgh0fJSfC9kyh18FtSbQNJdyNEkkfaNtP9GMC8y25W6fOjyR2fj3OnQQTFDwmm-gckqofvhJsmnPSWgHxaan7uiaz_Wgc5JcdTu2DfzhOjqUQ_QG7X14jWDdq9CUtHuSV# =
ご覧のとおり#_=_
、コード パラメータ値の最後に facebook を追加します。
ここで、# を含む任意の種類の URL GET を構築しようとすると、NGINX は # に遭遇したときにリクエストの解析を停止します。これはたとえば.
次のログを提供します。
[16/Aug/2012:11:25:33 +0200] "GET /index.html?value1=jo HTTP/1.1" 200 4976 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.1 (KHTML、Gecko など) Chrome/21.0.1180.79 Safari/537.1"
私の場合、Nginx はリクエストの解析を停止し、コード パラメータ値から「# = 」を削除します。
何か案が ?
ありがとう。
PS: これは Apache と完全に連携します。