web-dev-qa-db-ja.com

<location>ブラケット内のSSL mod_proxyの問題

Apacheでプロキシパスを機能させるのに問題があります。

私の設定ファイルは次のとおりです:

<VirtualHost 1.2.3.4:443>

    ServerName example.com
    ServerAlias www.example.org
    ServerAdmin [email protected]
    DocumentRoot /home/admin/web/knyz.org/public_html
    ScriptAlias /cgi-bin/ /home/admin/web/knyz.org/cgi-bin/
    Alias /vstats/ /home/admin/web/knyz.org/stats/
    Alias /error/ /home/admin/web/knyz.org/document_errors/
    #SuexecUserGroup admin admin
    CustomLog /var/log/Apache2/domains/knyz.org.bytes bytes
    CustomLog /var/log/Apache2/domains/knyz.org.log combined
    ErrorLog /var/log/Apache2/domains/knyz.org.error.log
    <Directory /home/admin/web/knyz.org/public_html>
        AllowOverride All
        SSLRequireSSL
        Options +Includes -Indexes +ExecCGI
    </Directory>
    <Directory /home/admin/web/knyz.org/stats>
        AllowOverride All
    </Directory>
    SSLEngine on
    SSLVerifyClient none
    SSLCertificateFile /home/admin/conf/web/ssl.knyz.org.crt
    SSLCertificateKeyFile /home/admin/conf/web/ssl.knyz.org.key
    SSLCertificateChainFile /home/admin/conf/web/ssl.knyz.org.ca
    <IfModule mod_ruid2.c>
        RMode config
        RUidGid admin admin
        RGroups www-data
    </IfModule>
    <IfModule itk.c>
        AssignUserID admin admin
    </IfModule>

    IncludeOptional /home/admin/conf/web/sapache2.knyz.org.conf*

    ##ISSUE IS HERE!!!
    <Location /admin>
        ProxyPass https://localhost:8083
        ProxyPassReverse https://localhost:8083
    </Location>
</VirtualHost>

望ましい結果:/adminサブディレクトリにアクセスすると、ポート8083のlocalhostからのページが表示されます。

実際の結果:エラー500

問題はここと同じようです: Apache ProxyPass with SSL

ソリューションが私のために機能しないことを除いて。

そうしようとすると、Apacheの再起動中に次のエラーが発生します。

SSLProxyEngine not allowed here

エラーログから(エラー500に関する):

[Sun Dec 13 21:33:31.062959 2015] [ssl:error] [pid 1181] [remote 127.0.0.1:8083] AH01961: SSL Proxy requested for example.org:443 but not enabled [Hint: SSLProxyEngine]
[Sun Dec 13 21:33:31.063033 2015] [proxy:error] [pid 1181] AH00961: HTTPS: failed to enable ssl support for 127.0.0.1:8083 (localhost)

この問題を解決するにはどうすればよいですか?

更新

ロケーションブロックを次のものに置き換えました

ProxyPreserveHost On
  ProxyPass /blog http://127.0.0.1:2368/blog
  ProxyPassReverse /blog http://127.0.0.1:2368/blog
  ProxyPass /admin https://127.0.0.1:8083
  ProxyPassReverse /admin https://127.0.0.1:8083

そして/blogは正しく機能しますが、/adminは機能しません。これは、問題が間違いなくSSLにあることを意味します。

3
Slava Knyazev

私が言うことができることから、ProxyPassはブロック内で使用するためのものではありません-<Location>ブロック。それはそのブロックの外にある必要があり、SSLProxyEngineもオンにする必要があります。

    SSLProxyEngine On
    ProxyPass /admin https://localhost:8083/
    ProxyPassReverse /admin https://localhost:8083/
5
cutrightjm