web-dev-qa-db-ja.com

apacheを使用したHTTPSリバースプロキシ

このApache構成を使用して、同じマシンで実行されているプロセスへのリバースプロキシをポート8443でセットアップしています。

<Directory "/var/www/html">
   Options +FollowSymLinks
   RewriteEngine On
   RewriteCond %{HTTPS} off 
   RewriteRule ^(.*) https://%{HTTP_Host}/$1
</Directory>

<IfModule mod_proxy.c>

ProxyRequests Off

<Proxy *>
   Order deny,allow
   Allow from all
</Proxy>

SSLProxyEngine On
ProxyPass / https://127.0.0.1:8443/
ProxyPassReverse / https://127.0.0.1:8443/

</IfModule>

8443で実行されているプロセスには、HTTPS/SSL証明書がすでに設定されています。これは有効な/良い構成ですか、それとももっとうまくできますか?

現在、http://でもhttps://にプロキシすることに気づきましたが、書き換えは開始されません。SSLが危険にさらされる可能性があると思いますか?私はむしろ8443への443プロキシのみを持ち、URLリライトを使用してhttp://リクエストをhttps://リクエストにリライトしたいと思います。 Apacheを使用してそれは可能ですか?

ありがとう。

編集 -これは、要求された仮想ホスト情報です。

VirtualHost Configuration: 
wildcard NameVirtualHosts and _default_ servers:
_default_:443       127.0.0.1 (/etc/httpd/conf.d/ssl.conf:74)
Syntax OK
2
Sean Thoman

プロキシの代わりにリダイレクトするHTTPリクエストを取得するには、次の2つのことを行う必要があります。

  1. プロキシ設定(SSLProxyEngineからProxyPassReverseまでを/etc/httpd/conf.d/ssl.confのSSL仮想ホストに移動して、そこでのみ適用されるようにします

  2. リダイレクトするHTTP仮想ホストを作成します-おそらく.confの新しい/etc/httpd/conf.dファイルにあります:

    <VirtualHost *:80>
      ServerName redirect
      RewriteEngine On
      RewriteRule ^(.*) https://%{HTTP_Host}/$1
    </VirtualHost>
    
2
Shane Madden