我正在尝试允许同一网络上的另一台设备访问虚拟机中我本地机器上运行的应用程序。虚拟机中应用程序的本地 IP 可通过以下方式访问:http://192.168.10.10/
如果我在本地机器的浏览器中加载此 IP,我可以看到主页,很好。当然,远程设备不会知道这个 IP 地址,因为它是本地的。所以我尝试使用 mod_proxy 允许外部设备在给定的端口号上查看主页。
我已经启用 mod_proxy 和 mod_proxy_http:
a2enmod proxy
a2enmod proxy_http
..并重新启动 apache 以确保模块可用。
这是我的 apache 配置文件 /etc/apache2/sites-available/rev.conf:
<VirtualHost *:8088>
ProxyPreserveHost On
ProxyPass "/" "http://192.168.10.10/"
ProxyPassReverse "/" "http://192.168.10.10/"
ServerName hostname.example.com
</VirtualHost>
这是非常基础的。事实上,我刚刚从https://httpd.apache.org/docs/trunk/vhosts/examples.html。我已a2ensite rev.conf
重新加载 apache。在启用模块之前,ProxyPass* 行出现错误,但现在 apache 重新加载时没有任何错误。
我正在使用它ifconfig
来确定其他设备在网络上的本地 IP,但是当我从另一台设备尝试带有端口号的 IP(例如 192.168.1.2:8088)时,它只是告诉我:
无法连接
Firefox 无法与 192.168.1.2:8088 的服务器建立连接。
The site could be temporarily unavailable or too busy. Try again in a few moments. If you are unable to load any pages, check your computer's network connection. If your computer or network is protected by a firewall or proxy, make sure that Firefox is permitted to access the Web.
... 好像我输入了错误的 URL,所以我猜是这样的。看来代理不起作用了。
即使在本地机器上尝试,http://localhost:8088
它也无法加载。那么我的 apache conf 文件有问题吗?