Apache の使用例

Apache の使用例

私は SSL 証明書を使用して、自宅のサーバーでポート 443 の Apache を使用して複数のサイトを世界中に提供しています。昨夜、構成ファイルで定義されたポートでのみサイトを提供する Linux バイナリをインストールしました。Apache でサイトを直接提供することはできません。

このサイトはhttp://127.0.0.1:8081/しかし、私は443経由でApacheの背後に隠して、https://myserver.duckdns.org/webapp/

これまでサイト設定ファイルでこれを試しましたが、うまくいきませんでした:

ProxyRequests off
<Proxy *>
        allow from all
</Proxy>

RewriteEngine On
RewriteRule ^/(.*) /webapp/$1 [P]

<Location /webapp/>
        ProxyPass http://127.0.0.1:8081/
        ProxyPassReverse http://127.0.0.1:8081/
</Location>

どうすればこれができるのか、何かアイデアはありますか?

ProxyPass と RewriteRules を使用してこれを実行できると思いましたが、適切に動作しないようです。

よろしくお願いします!

答え1

書き換えルールは、a) ターゲットが間違っており、2) 冗長です。

RewriteRuleは[P]代替ProxyPass と一緒にではなく、ProxyPass に追加します。[P] ルールの書き換え先は、ローカルの URL ではなく、リモートの Web アプリケーション URL になります。たとえば、次のように使用できます。

RewriteRule ^/webapp/(.*) http://127.0.0.1:8081/$1 [P]

またはこれ:

ProxyPass /webapp/ http://127.0.0.1:8081/

またはこれ:

<Location /webapp/>
    ProxyPass http://127.0.0.1:8081/
</Location>

(注: Apache のドキュメントでは、可能な限り ProxyPass を使用することを推奨しています。)

あなたの<Proxy *>ブロックも不要です。なぜなら、それはフォワードプロキシでは、クライアントがプロキシの宛先(無効にされている)を指定します。

関連情報