Nginx アクセス制御構成、指定ユーザーへのアクセスの制限
Web サーバーにおいて、アクセス制御は、特定のユーザーまたは IP アドレスのアクセス権を制限するために使用される重要なセキュリティ対策です。 Nginx は高性能 Web サーバーとして、強力なアクセス制御機能も提供します。この記事では、Nginx の設定を使用して特定のユーザーのアクセス権限を制限する方法と、参考となるコード例を紹介します。
まず、基本的な Nginx 構成ファイルを準備する必要があります。すでに Web サイトがあり、構成ファイルのパスが /etc/nginx/nginx.conf
であると仮定します。この設定ファイルでは、次のアクセス制御設定を追加します。
http { # 其他配置内容... # 定义一个验证文件,包含允许访问的用户名及密码 auth_basic_user_file /etc/nginx/conf.d/.htpasswd; # 定义一个location块,对指定URL路径进行访问控制 location /private { # 开启基于HTTP基本认证的访问控制 auth_basic "Restricted"; # 指定只对特定用户名进行访问控制 auth_basic_user_file /etc/nginx/conf.d/.htpasswd; # 其他配置内容... } }
上記の設定では、auth_basic_user_file
ディレクティブを使用して、アクセスを許可されたユーザー名を含む認証ファイルを定義しました。および対応するパスワード。この検証ファイルのパスは /etc/nginx/conf.d/.htpasswd
です。実際のニーズに応じて変更できます。
次に、location
ブロックを使用して、指定された URL パスでアクセス制御を実行します。この例では、アクセスが制限されたパスとして /private
を使用していますが、実際の状況に応じて調整できます。 location
ブロックでは、auth_basic
ディレクティブを使用して、HTTP 基本認証に基づくアクセス制御を有効にします。
特定のユーザーのみにアクセスを制限するには、auth_basic_user_file
ディレクティブを再度使用し、検証ファイルへのパスを指定します。こうすることで、検証ファイルに存在するユーザー名のみが、制限された URL パスにアクセスできます。
次に、検証ファイル .htpasswd
を準備する必要があります。このファイルは、Apache HTTP Server
が提供するツールである htpasswd コマンドを使用して生成できます。ターミナルで次のコマンドを実行して検証ファイルを生成します。
htpasswd -c /etc/nginx/conf.d/.htpasswd user1
上記のコマンドは、指定されたパスに .htpasswd
ファイルを生成し、ユーザー user1# のパスワードを設定します。 ##。さらにユーザーを追加するには、以下に示すように
-c オプションを削除します。
htpasswd /etc/nginx/conf.d/.htpasswd user2
sudo service nginx restart
location ブロックでアクセスを制限する URL パスを指定し、検証ファイルへのパスを再度指定することで、特定のユーザーのみにアクセスを制限します。最後に、htpasswd コマンドを使用して検証ファイルを生成し、Nginx サーバーを再起動して構成を有効にしました。
以上が指定したユーザーへのアクセスを制限する Nginx アクセス制御構成の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。