Referer rewrite on nginx reverse proxy
Nginx reverse proxy.の続きです。 急にReferer偽装というか書き換えを行いたくなったのでメモ。
/etc/nginx/conf.d/proxy.conf
location ~ /http/(.*?)/(.*) { resolver 8.8.8.8; proxy_pass http://$1/$2; proxy_set_header X-Forwarded-Server $1; }
前回、書いたconfファイルに追記します。
/etc/nginx/conf.d/proxy.conf
location ~ /http/(.*?)/(.*) { resolver 8.8.8.8; proxy_pass http://$1/$2; proxy_set_header Referer http://$1/$2; proxy_set_header X-Forwarded-Server $1; }
このようにproxy_set_header Referer [リファラ];
とすると、リファラの書き換えを行えるようです。
ただ、今のこの書き方だと$2
にリクエストしたURLのパスが入るので、リクエスト元を完全に指定しているようなサイトには無効ですね。
恐らくGETパラメーターでリファラのURLを渡して、それに書き換えるのが一番良いのでしょうけど、そこまでやるべきかは考え中です。