それぞれ独自のホストを持つ複数の Web サイトを持つサーバーがあります。
nginx で、特定の Web サイト (特定のホスト/ドメイン名)へのアクセスをブロックし0.0.0.0/0
、特定の IP を許可する方法はありますか?1.2.3.4/32
例えば:
- HTTP リクエストにホスト ヘッダーが付いている場合は、
www.something-public.com
すべて許可します。 - HTTP リクエストにホスト ヘッダーが付いている場合は、
www.something-private.com
すべてを拒否し、特定の IP アドレスを許可します。
.htaccess
私が抱えているもう 1 つの問題は、Web サイトの所有者が信頼されていないため、Web サイトのディレクトリ内の構成ファイル (親ディレクトリの設定を上書きするファイルなど) を介して変更できないように、このルールで制限したいということです。
答え1
モジュールngx_http_アクセスモジュールサーバー ブロックに配置できる allow コマンドと deny コマンドがあります。
server {
server_name www.something-public.com;
allow all; // I think this is the default and the statement is not needed
}
server {
server_name www.something-private.com;
allow 192.168.1.1/32;
deny all;
}