プロジェクト

全般

プロフィール

別のサーバ、ポートをへ転送する(リバースプロキシ)

  • 他のサーバのApache、バーチャルホスト、Tomcatなど、別のWebサーバに対して
    本Apacheをゲートウェイとし、こちらで転送表示する方法。
  • よくある例として標準の80ポートで動作しないWebサーバ(tomcatやrails)を
    Apacheの80ポートで転送し、ユーザへの表示をApacheで一括管理したり、
    前者では実装されていないベーシック認証機能を利用するケースがある。
    • 要件
      ポート表記を次のように表示したい場合に使われる。
      (例では別サーバとしているが、ローカルホスト内の転送でも可能)
      ■動作しているサービスのアドレス
      http://192.168.0.2:3000/dir
      

      ■ユーザにアクセスさせたいアドレス
      http://192.168.0.1/dir
      

       
    • 実装
    1. mod_proxy パッケージが導入されていること。
      LoadModule proxy_module modules/mod_proxy.so
      
    2. 下記のコードを記入する。(正規表現で後ろのスラッシュ有無を補正している)
      (例: /dir 以下を192.168.0.2の81ポートのWebサーバに接続する場合)
      RedirectMatch           ^/dir$           http://192.168.0.1/dir/
      ProxyPass               /dir/            http://192.168.0.2:81/
      ProxyPassReverse        /dir/            http://192.168.0.2:81/
      
    3. Apacheをリスタートする。
      # service httpd restart
      

 

戻る