
nginx 構成を使用して、ユーザーをさまざまな Web サービスに誘導したいと考えています。
シナリオは、 から のホスト名を持つ内部ユーザーに対しては192.168.1.1
Web192.168.1.255
サービスを提供したいが、他の外部訪問者に対してはこれを実現したくないというものです。
この機能を有効にするために使用できることはわかっていますIP_TABLES
が、IP_TABLE ルールは主にファイアウォールの目的で使用しているため、この構成と混在させたくありません。
で利用できる設定はありますかnginx.conf
?
答え1
GEO モジュールをマップ ディレクティブと一緒に使用できます。
http {
geo $special_service {
default 0;
192.168.1.0/24 1;
}
server {
if ($special_service) {
return 302 $scheme://$server_name/special-service/;
}
}
}
答え2
location
機密コンテンツをカバーする別のブロックを作成します。
設定ディレクティブは継承されないことに注意してください。コンテンツに必要な既存の `location にあるものはすべて、新しいブロックに含める必要があります。
location /path/to/sensitive/stuff {
# any other config that you need goes here..
# ...
allow 192.168.1.0/24;
deny all;
}