ホームページ > バックエンド開発 > PHPチュートリアル > Apache 仮想ホスト: リバース プロキシの追加

Apache 仮想ホスト: リバース プロキシの追加

Susan Sarandon
リリース: 2024-10-09 06:15:02
オリジナル
996 人が閲覧しました

Apache Virtual Host: Adding reverse proxy

リバースプロキシとは何ですか?

リバース プロキシは、クライアントのリクエストを他のサーバーに転送する仲介者として機能します。これは、ロード バランシング、セキュリティ、キャッシュ、または HTTP リクエストをバックエンド サーバー (たとえば、Node.js、Python、PHP、または別のサーバーで実行されているアプリケーション) に転送するためによく使用されます。

Apache では、mod_proxy および mod_proxy_http モジュールを使用してこれを設定できます。これを行う方法についてのガイドは次のとおりです。

シナリオ

ポート 8080 のローカルホストで実行されているサーバーなどのバックエンド サービスのリバース プロキシとして Apache を構成します。

リバース プロキシを構成する手順は次のとおりです。

1.必要なモジュールを有効化します

まず、Apache でプロキシ モジュールを有効にする必要があります。

sudo a2enmod proxy sudo a2enmod proxy_http
ログイン後にコピー

モジュールを有効にするために Apache を再起動します:

sudo systemctl restart apache2 
ログイン後にコピー

2.リバース プロキシを使用して仮想ホストを構成する

次に、前に作成した仮想ホストの構成ファイルを編集して、プロキシ ディレクティブを追加します。

設定ファイルを開きます:

sudo your_editor /etc/apache2/sites-available/php.conf
ログイン後にコピー

内にプロキシ構成行を追加します。ブロック:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName php.info
    DocumentRoot /var/www/html/php

    # Reverse Proxy Directives
    ProxyPreserveHost On
    ProxyPass / http://localhost:8080/
    ProxyPassReverse / http://localhost:8080/

    <Directory /var/www/html/php/>
        AllowOverride All
        Require all granted
    </Directory>

    # Logs for debugging
    ErrorLog ${APACHE_LOG_DIR}/php_error.log
    CustomLog ${APACHE_LOG_DIR}/php_access.log combined
</VirtualHost>
ログイン後にコピー

これらのディレクティブは次のことを行います:

  • ProxyPreserveHost On: Apache がバックエンド サーバーにリクエストを行うときに、クライアントからの元の Host ヘッダーを保存します。
  • ProxyPass / http://localhost:8080/: Apache に入ってくるすべてのリクエストを、ポート 8080 でリッスンしているサーバーにリダイレクトします。
  • ProxyPassReverse / http://localhost:8080/: リクエストを Apache にマップして戻します。つまり、バックエンドからの応答が Apache から直接送信されたように見えるように変更されます。

3.Apache を再起動します

変更を加えた後、Apache を再度再起動します。

sudo systemctl restart apache2
ログイン後にコピー

4.リバース プロキシをテストする

これで、http://php.info にアクセスすると、Apache は http://localhost:8080 をリッスンしているバックエンドにリクエストを転送します。

以上がApache 仮想ホスト: リバース プロキシの追加の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート