次のnginx構成があります
if ($host != mydomain.com) {
return 403;
}
URL http://127.0.0.1/test/test2/index.php (POSTMAN から) にアクセスすると、403 が返されます。しかし、ヘッダーに Host -> mydomain.com を追加すると、200 になります。
nginx の構成を追加add_header Host "$host";
すると、nginx のホスト変数に mydomain.com が含まれていることに気づきました。nginxのドキュメントによると、意図的にホストヘッダーをhttpリクエストでオーバーライドすると127.0.0.1になることを知っています。
しかし、この方法では、攻撃者は Cloudflare WAF をバイパスして Web サーバーに直接リクエストを送信できます。nginxからのそのようなリクエストをブロックする解決策は何ですか?
次の解決策を試しましたが、うまくいきませんでした。
https://www.digitalocean.com/community/questions/how-to-block-access-using-the-server-ip-in-nginx
https://blog.knoldus.com/nginx-disable-direct-access -via-http-and-https-to-a-website-using-ip/