![通过 nat 访问 oracle vm guest 上的 apache2 虚拟主机?](https://linux22.com/image/689289/%E9%80%9A%E8%BF%87%20nat%20%E8%AE%BF%E9%97%AE%20oracle%20vm%20guest%20%E4%B8%8A%E7%9A%84%20apache2%20%E8%99%9A%E6%8B%9F%E4%B8%BB%E6%9C%BA%EF%BC%9F.png)
我的问题如下:我有一个 Oracle VM,上面装有 debian,运行着 apache2。这个 apache 将处理两个 Web 服务器,因此我的配置如下所示:
< VirtualHost *:80 > (no spaces, serverfault just shows it wrong without)
ServerAdmin webmaster@localhost ServerName site1.hostpc.domain.com DocumentRoot /var/www/html/site1
ErrorLog ${APACHE_LOG_DIR}/site1/error.log CustomLog ${APACHE_LOG_DIR}/site1/access.log combined
< /Virtualhost >
< VirtualHost *:80 >
ServerAdmin webmaster@localhost ServerName site2.hostpc.domain.com DocumentRoot /var/www/html/site2
ErrorLog ${APACHE_LOG_DIR}/site2/error.log CustomLog ${APACHE_LOG_DIR}/site2/access.log combined
< /Virtualhost >
其中 hostpc 是 hostpc 的名称,domain.com 是本地域。
我通过 NAT 将端口 80 从虚拟机转发到主机电脑(TCP,客户机端口 80 -> 主机端口 80)
我现在遇到的问题是:当我在虚拟机中访问 site1.hostpc.domain.com 或 site2.hostpc.domain.com 时,不同的网站显示完美,但当我尝试在主机 PC 上打开 site1.hostpc.domain.com 或 site2.hostpc.domain.com 时,无法解析网站的 DNS。当我打开 hostpc.domain.com 时,可以正常显示 site1,但无法获取 site2。
我尝试了很多方法,但还是无法运行。(PS:我需要使用 NAT,桥接网络会断开我的主机与网络的连接)
答案1
您应该将主机的 80 端口转发到虚拟机的 80 端口。确保您的主机条目正确