virtualbox - 从主机端口 80 到 VirtualBox 端口 80 的端口转发不起作用

标签 virtualbox portforwarding

我已阅读 VirtualBox 端口转发指南、本站点和其他站点中的类似问题,但找不到解决方案。

UFW 在 Guest OS (Ubuntu) 上启用,端口 80 和 22 已打开。我可以从主机 ssh 到 ubuntu,并且可以从主机浏览器访问 ubuntu 站点。

在 Guest 上,我设置了 Nat 和 hostonly (vboxnet3) 适配器。
还打开了路由器端口 80 (192.168.1.90)
访客 IP 为 192.168.70.10

所以在访客设置> Nat >端口转发中,我输入了:

TCP 主机 IP:192.168.1.90 主机端口:80 访客 IP:192.168.70.10 访客端口:80

但是,此设置不起作用。如果您将我引向正确的道路,我将不胜感激。

最佳答案

正如威廉所提到的,除非它们以 root 身份运行,否则 linux/unix 操作系统不会让进程监听 < 1024 的端口。您可以以 root 身份运行 VirtualBox,尽管我已经阅读了关于这样做的可怕警告。这可能是非常不安全的。

相反,在主机系统上设置 Apache2 以监听端口 80(它应该已经设置好了),但不是在主机上为网站提供服务,而是让它代理流量到某个更高的端口 - 比如 8080 - on主人。

然后,让 VirtualBox 将该更高端口转发到 guest 操作系统端口 80。

Apache 设置将是这样的:

  • 安装 HTTP 代理模块
    a2enmod proxy_http
  • 确保 /etc/apache2/ports.conf有一个 Listen 80里面的指令
  • /etc/apache2/sites-available 中添加另一个站点或修改默认站点(或直接在 ports.conf 中添加)
    <VirtualHost *:80>
        ProxyPreserveHost On
        ProxyRequests Off
        ProxyPass / http://localhost:8080/
        ProxyPassReverse / http://localhost:8080/
    </VirtualHost>
    
  • bounce apache

    service apache2 restart

  • The VirtualBox setup would be host port: 8080, guest port: 80.

    Traffic would go:

    client --> host:80 --> Apache --> host:8080 ---> vbox NAT ----> guest:80
    

    这类似于 William 的 ssh 隧道,但每次重新启动主机时都不需要手动干预(重新输入密码)。

    关于virtualbox - 从主机端口 80 到 VirtualBox 端口 80 的端口转发不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11388657/

    相关文章:

    java - JSch - 如何使用 PortForwarding L 从远程服务器捕获流?

    macos - SSH -L 连接成功,但本地主机端口转发不起作用 "channel 3: open failed: connect failed: Connection refused"

    vagrant - 默认 : Warning: Remote connection disconnect. 重试

    linux - Vagrant 启动并重新加载 - 默认 : Warning: Connection timeout. 正在重试...

    Laravel Homestead 不工作,它只是不断超时

    linux - 无法从公共(public)访问 apache 服务器

    java - 本地 Spring 应用如何访问 OpenShift 上的 mysql?

    routing - Dart 多服务器中的端口转发请求//隔离处理程序

    python - 从 windows 浏览器访问 ubuntu 虚拟机主机

    virtualbox - VERR_VMX_MSR_A​​LL_VMX_DISABLED 从 Oracle virtualbox 启动镜像时