Как настроить URL-адрес домена обратного прокси-сервера Apache для конкретного URL-адреса на локальном хосте - PullRequest
0 голосов
/ 18 января 2019

У меня возникла проблема с настройкой обратного прокси-сервера Apache. Я хочу использовать URL-адрес: https://software.testsite.net, и мой обратный прокси должен быть настроен с использованием http://localhost:82/customapp.

Проблема в настоящее время, когда я перехожу к https://www.testsite.net, она заменяется на http://localhost:82/customapp.

Как мне настроить это? Моя конфигурация:

<VirtualHost *:443>
    SSLEngine on
    ServerName software.testsite.net
    SSLProxyEngine On

    SSLCertificateFile "${SRVROOT}/certs/testsite.crt"
    SSLCertificateKeyFile "${SRVROOT}/certs/testsite.key"
    SSLCertificateChainFile "${SRVROOT}/certs/testsite.ca-bundle"

    RequestHeader edit Destination ^https http early

    <Location />
        RedirectMatch ^/$ https://localhost:82/customapp
        ProxyPass http://localhost:82/customapp
        ProxyPassReverse http://localhost:82/customapp
    </Location>
</virtualhost>

<VirtualHost *:80>
    ProxyPreserveHost On
    ProxyVia on
    RewriteEngine on
    ProxyRequests     Off
    SSLProxyEngine On
    SSLCertificateFile "${SRVROOT}/certs/testsite.crt"
    SSLCertificateKeyFile "${SRVROOT}/certs/testsite.key"
    SSLCertificateChainFile "${SRVROOT}/certs/testsite.ca-bundle"

    # used for enforcing http to https
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{SERVER_NAME}$1 [R,L]

    ServerName software.testsite.net
    <Location />
        ProxyPass http://localhost:82/customapp
        ProxyPassReverse http://localhost:82/customapp
    </Location>

</VirtualHost>

1 Ответ

0 голосов
/ 20 января 2019

Я наконец-то заработал. Не уверен, если это так, как это должно быть сделано.

<VirtualHost *:80>
    ServerName software.testsite.net

    DocumentRoot "${SRVROOT}/htdocs/software"
    DirectoryIndex index.html

    ProxyPreserveHost On
    ProxyVia on
    RewriteEngine on
    ProxyRequests     Off

    # used for enforcing http to https
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{SERVER_NAME}$1 [R,L]

    SSLProxyEngine On
    SSLCertificateFile "${SRVROOT}/certs/testsite.crt"
    SSLCertificateKeyFile "${SRVROOT}/certs/testsite.key"
    SSLCertificateChainFile "${SRVROOT}/certs/testsite.ca-bundle"

    <Location /customapp>
        ProxyPass http://localhost:82/customapp
        ProxyPassReverse http://localhost:82/customapp
    </Location>
</VirtualHost>

<VirtualHost *:443>
    ServerName software.testsite.net

    DocumentRoot "${SRVROOT}/htdocs/software"
    DirectoryIndex index.html

    RequestHeader edit Destination ^https http early
    SSLEngine on
    SSLProxyEngine On
    SSLCertificateFile "${SRVROOT}/certs/testsite.crt"
    SSLCertificateKeyFile "${SRVROOT}/certs/testsite.key"
    SSLCertificateChainFile "${SRVROOT}/certs/testsite.ca-bundle"

    <Location /customapp>
        RedirectMatch ^/$ https://localhost:82/customapp
        ProxyPass http://localhost:82/customapp
        ProxyPassReverse http://localhost:82/customapp
    </Location>
</virtualhost>

<!DOCTYPE html>
<html>
   <head>
      <title>HTML Meta Tag</title>
      <meta http-equiv = "refresh" content = "1; url =http://software.testsite.net/customapp"/>
   </head>
   <body>
      <p>Redirecting...</p>
   </body>
</html>
...