私は3000ポートで動作しているローカルサーバーを持っており、それはnginxサーバーにいくつかのPOST要求を送信します。 Nginxはrefererをチェックし、127.0.0.1:3000(すべてのサブドメイン)から来ていない場合は403 Restrictedを返し、それ以外の場合は9200/errors/browserエンドポイントへの有効なリダイレクトです。nginx - valid_referesは動作しません
現在、リファラーが有効かどうかにかかわらず、常にリダイレクトされます。私はnginxでそれが悪であることを知っているので、if-elseのアプローチはここでは機能しません。
server {
listen 127.0.0.1:9999;
server_name localhost;
location/{
valid_referers none blocked server_names ~someaddress;
if ($invalid_referer) {
return 403;
}
# redirect to this endpoint if referer is valid
return 307 http://localhost:9200/errors/browser;
}
}
「Referer」はブラウザのアドレスバーに表示されます。そこに '127.0.0.1:3000'が本当にありますか? –
とにかく、有効なリファラーのリストに '127.0.0.1:3000'が表示されません –