You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VirtualBox NAT模式下Kubuntu LAMP服务器多虚拟主机的宿主机访问问题

VirtualBox NAT模式下Kubuntu LAMP服务器多虚拟主机的宿主机访问问题

嘿,这个问题我之前也碰到过!核心原因是NAT模式下的端口转发和Apache虚拟主机的匹配逻辑没对上——你直接用127.0.0.1:8080访问时,浏览器发送的Host头是127.0.0.1,Apache会默认匹配第一个配置的虚拟主机(也就是你的site1),所以site2就访问不到。下面给你几个简单可行的解决方案:

方案一:给每个虚拟主机单独配置端口转发(最直接)

这个方法不用改Apache的配置,只需要在VirtualBox和宿主机Hosts里做调整:

  1. 打开VirtualBox,选中你的Kubuntu虚拟机,点击「设置」→「网络」→「高级」→「端口转发」
  2. 除了原来的8080→80的规则(对应site1),再添加一条新规则:
    • 主机端口:填一个没被占用的端口,比如8081
    • 子系统端口:填80(因为虚拟机里的Apache还是监听80端口)
    • 协议:选择TCP
  3. 修改宿主机的Hosts文件:
    • Windows路径:C:\Windows\System32\drivers\etc\hosts(需要管理员权限编辑)
    • macOS/Linux路径:/etc/hosts(用sudo编辑)
      添加两行内容:
    127.0.0.1 site1.local
    127.0.0.1 site2.local
    
  4. 现在在宿主机浏览器里分别访问:
    • site1:site1.local:8080
    • site2:site2.local:8081
      这样每个域名对应不同的转发端口,Apache能拿到正确的Host头,就能匹配对应的虚拟主机了。

方案二:让Apache的虚拟主机监听不同端口(适合不想开太多转发端口的情况)

如果不想给每个站点单独开宿主机端口,可以让虚拟机里的Apache给每个虚拟主机分配不同的监听端口:

  1. 编辑site2的虚拟主机配置文件site2.conf:
    sudo nano /etc/apache2/sites-available/site2.conf
    
    把原来的<VirtualHost *:80>改成<VirtualHost *:81>,其他配置(比如DocumentRoot、Directory)保持不变,修改后大概是这样:
    <VirtualHost *:81>
        ServerName site2.local
        DocumentRoot /var/www/site2
        <Directory /var/www/site2>
            AllowOverride All
            Require all granted
        </Directory>
        # 其他日志等配置...
    </VirtualHost>
    
  2. 编辑Apache的端口配置文件ports.conf:
    sudo nano /etc/apache2/ports.conf
    
    添加一行Listen 81,和原来的Listen 80放在一起:
    Listen 80
    Listen 81
    
  3. 重启Apache服务使配置生效:
    sudo systemctl restart apache2
    
  4. 回到VirtualBox的端口转发设置,添加一条新规则:主机端口8081,子系统端口81,协议TCP
  5. 同样修改宿主机Hosts文件添加127.0.0.1 site2.local,然后在宿主机浏览器访问site2.local:8081就能打开site2了。

注意事项

  • 修改Hosts文件后,可能需要清空浏览器缓存或者重启浏览器才能生效
  • 要确保你选的宿主机端口没有被其他程序占用(比如8080、8081这些常用端口,要是被占用就换个别的,比如8090、8091)
  • 每次修改Apache配置后,一定要重启服务,否则配置不会生效

备注:内容来源于stack exchange,提问作者Gaëtan BILLON

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 09:13:09