如何将Apache反向代理域URL配置为本地主机上的特定URL

时间:2019-01-18 16:05:34

标签: windows apache reverse-proxy http-proxy

我在配置apache反向代理服务器时遇到问题。 我想使用一个URL eq .: 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 :(得分:0)

我终于开始工作了。不知道这是否应该这样做。

<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>