【问题标题】:Forward http traffic to web server running on virtual internal network将 http 流量转发到在虚拟内部网络上运行的 Web 服务器
【发布时间】:2012-08-16 14:50:51
【问题描述】:

我正在使用 Debian 来宾在 OSX 主机上运行 VirtualBox。我使用 Debian 运行我的开发 LAMP 环境,我希望我的主机端口 80 上的所有流量都自动转发到 Debian 来宾。

目前我的 debian 服务器设置有 2 个网络适配器,一个 Host-Only 和一个 NAT(后者只是为了给它一个 Internet 连接,它不用于服务器任务)。

在我的 OSX 主机上,我已经像这样配置了 mod_proxy:

ProxyPass / http://debian/

(debian 是 debian 客户机的主机名)。这对我有用,因为我的主机与“debian”共享一个内部网络,但是如果我很快想向同事展示一些东西并将我的 url(192.168 等)发送给他们,那么他们就不会那么幸运了。

如何设置我的配置,使我的 OSX apache 服务器基本上充当我的 debian 服务器的完整代理解决方案?

谢谢

【问题讨论】:

    标签: apache proxy virtualbox mod-proxy


    【解决方案1】:

    如果我正确阅读了您的问题,听起来好像您理解 ProxyPass 的工作方式类似于 HTTP 301/302 状态,这是不正确的。一个 302 HTTP 状态会告诉请求的客户端,“嘿,你自己从其他地址获取这个。”在这种情况下,debian 必须对您的同事可见。

    但是,ProxyPass(以及一般的反向代理)为您建立连接;客户端不需要(而且通常不需要)直接访问上游服务器,在本例中为debian。长话短说,除非我看错了,否则只要您的主机(您的物理机器)上的 Apache 正在侦听他们可以看到的 IP 地址,您就应该已经很好了。

    【讨论】:

    • 事实上我不是。我进入的第一页工作正常,但从该页面链接的后续 url 转到 debian,而不是 url 栏中给出的 url(即相对链接)。
    • 我发现了问题,我正在测试的应用程序添加了一个 <base href=..> 元素,该元素是根据用于访问页面的 url 检测到的。所有相对 url 都相对于该元素的 href 值,所以这就是导致我的问题的原因。我会将您的答案标记为正确的答案,因为我意识到我的问题没有正确表述,而您的问题实际上是在回答问题时回答的。
    • 啊啊啊,这样就行了。出于好奇,哪个应用程序添加了<base> 元素?
    猜你喜欢
    • 1970-01-01
    • 2020-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-18
    • 1970-01-01
    • 2011-01-08
    相关资源
    最近更新 更多