分散 Web サービスのアクセス制御を実現するために Nginx プロキシ サーバーを構成するにはどうすればよいですか?
はじめに:
最新の分散 Web サービス アーキテクチャでは、システムのセキュリティと信頼性を確保するために、アクセス制御は非常に重要な部分です。高性能でスケーラブルなプロキシ サーバーとして、Nginx を使用して分散 Web サービスのアクセス制御を実装し、柔軟な構成オプションを提供できます。この記事では、分散 Web サービスのアクセス制御を実装するために Nginx プロキシ サーバーを構成する方法を紹介し、関連するコード例を示します。
1. Nginx サーバーのインストール
まず、Nginx サーバーをインストールする必要があります。 Linux システムでは、パッケージ管理ツールを通じてインストールできます。 Ubuntu システムを例として、次のコマンドを使用してインストールします:
sudo apt-get update sudo apt-get install nginx
2. Nginx プロキシ サーバーを構成します
sudo nano /etc/nginx/nginx.conf
セクションを見つけて、その中に次のコードを追加します。
##http { ... upstream backend { server web1.example.com:80; server web2.example.com:80; server web3.example.com:80; } ... }
はバックエンド サーバーのアドレスとポート番号を定義しており、実際の状況に応じてバックエンド サーバーを追加または削除できます。
location / { allow 192.168.0.0/24; deny all; }
上記の設定は、IP アドレス
192.168.0.0/24 のみを示します。クライアントアクセスが許可されています。 (2) HTTP 基本認証に基づく:
location / { auth_basic "Restricted Content"; auth_basic_user_file /etc/nginx/.htpasswd; }
上記の構成は、HTTP 基本認証を使用する必要があり、ユーザーが
.htpasswd ファイルを通じて認証されることを示しています。 。 (3) URL パスに基づく:
location /admin { deny all; } location /api { allow all; }
上記の設定は、
/admin パスに対するリクエストは拒否され、/ パスに対するリクエストは拒否されることを示しています。 api
パスは拒否されますが、許可されます。
sudo service nginx restart
3 つのバックエンド サーバーがあるとします:
web1.example.com、web2.example.com
、web3.example.com
アクセス制御を構成する方法を説明します。
http { ... upstream backend { server web1.example.com:80; server web2.example.com:80; server web3.example.com:80; } server { listen 80; location / { allow 192.168.0.0/24; deny all; proxy_pass http://backend; } location /admin { deny all; proxy_pass http://backend; } location /api { allow all; proxy_pass http://backend; } } ... }
sudo service nginx restart
1) IP アドレス
192.168.0.0/24 を持つクライアントのみが、ルート パス /
にアクセスできます。 2)
/admin
パスへのリクエストへのアクセスを拒否します。 3)
/api
パスへのリクエストへのアクセスを許可します。 結論:
上記は、分散 Web サービスのアクセス制御を実装するために Nginx プロキシ サーバーを構成する方法についての紹介です。
以上が分散 Web サービスのアクセス制御を実装するために Nginx プロキシ サーバーを構成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。