リバースプロキシとは
つまり、リバースプロキシサーバーは、HTTPページなどのリソースを要求するクライアントと1つ以上のサーバーの間の仲介サービスとして機能します。リバースプロキシを使用すると、パフォーマンスの向上、負荷分散、リバースプロキシサーバーの背後にあるサーバーの透過的なサーバーメンテナンス、セキュリティの向上など、複数の利点が得られます。
基本シナリオ
このセクションでは、DebianLinuxでNginxWebサーバーを使用して基本的なリバースプロキシをセットアップします。 2つの別々のサーバーserver1
を実行します およびserver2
。 Server1は、NginxリバースプロキシとIPアドレス10.1.1.251
を使用してDebianLinuxを実行しています。 。 Server2は、IPアドレス10.1.1.252
でApache2Webサーバーを使用して基本的なWebサイトを実行します 。サーバー2が稼働していて、ポート80でコンテンツを提供していることを前提としています。
$ lynx -dump http://10.1.1.252 Hello this is apache2 sitting on host 10.1.1.252
その結果、私たちの主な焦点は、Server1と、クライアントとServer2の間の仲介役として機能するNginxリバースプロキシの構成に専念します。
最小限のリバースプロキシ構成
このセクションでは、環境に合わせて後で改善できる最小限のリバースプロキシ構成について説明します。 nginx
から始めましょう インストール:
# apt-get install nginx
次に、デフォルトの仮想ホストを無効にします:
# unlink /etc/nginx/sites-enabled/default
次に、/etc/nginx/sites-available
内に新しいファイルを作成します リバースプロキシ構成を保持するディレクトリ(例:reverse-proxy
) 次の内容で:
server { listen 80; location / { proxy_pass http://10.1.1.252; } }
上記のリバースプロキシ構成は、完全に最小限で自明です。主な機能はproxy_pass
nginx
に指示するディレクティブ ソケット10.1.1.251:80
で通信するすべてのリクエストをプロキシする リモートソケットへ10.1.1.252:80
。nginx
であることを確認してください 構成にエラーが含まれていないため、nginx
を再起動します 。
# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful # service nginx restart
この段階で、IPアドレス10.1.1.251
で新しいリバースプロキシを照会できるようになります。 apache2
のコンテンツに到達します IPアドレス10.1.1.251
で実行 :
$ lynx -dump http://10.1.1.251 Hello this is apache2 sitting on host 10.1.1.252
上記の基本的なリバースプロキシ構成が機能するようになったら、nginx
構成を改善するための追加のディレクティブがいくつか含まれています。