我正在尝试使用 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)。