apache2 上的反向代理监听 VPN

apache2 上的反向代理监听 VPN

我正在尝试使用 apache 反向代理来公开在主机连接到的 vpn 网络中的 vm 上运行的 web 应用程序。

基本上,它看起来应该是这样的:

VM(192.168.56.107) --> host(192.168.56.100,10.10.10.10) --> reverse proxy --> vpn --> client

我在主机上的 apache2 上尝试了以下配置

    <IfModule mod_proxy.c>
    <VirtualHost 10.10.10.10:80>
    ServerName 10.10.10.10
    RewriteEngine On
    RewriteCond %{HTTPS} !=on
    RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
    </VirtualHost>

    <VirtualHost 10.10.10.10:443>
    ServerName 10.10.10.10
    SSLProxyEngine On
    SSLProxyCheckPeerExpire off
    SSLProxyCheckPeerCN off
    SSLProxyVerify none
    ProxyPass /webapp/ http://192.168.56.107:8384/
    ProxyPassReverse /webapp/ http://192.168.56.107:8384/
    SSLEngine on
    SSLCertificateFile    /etc/apache2/ssl/server.crt
    SSLCertificateKeyFile /etc/apache2/ssl/server.key
    CustomLog ${APACHE_LOG_DIR}/vhosts/webapp_access.log combined
    ErrorLog ${APACHE_LOG_DIR}/vhosts/webapp_error.log
    <Proxy *>
    Order Allow,Deny
    Allow from all
    </Proxy>
    </VirtualHost>
    </IfModule>

但是,使用我当前的配置,我无法连接到 Web 应用程序,因为当我在浏览器中输入正确的 IP 时(https://10.10.10.10/webapp/)我被重定向到虚拟机内部IP(192.168.56.107)。

相关内容