【问题标题】:wamp server 3.0 virtual host on another device另一台设备上的 wamp server 3.0 虚拟主机
【发布时间】:2016-10-30 04:47:24
【问题描述】:

我正在尝试在其他设备上查看我的网站,主要是移动设备。我正在使用 Wampserver 3.0 和 apache 2.4.17。我还使用 wampserver 内置的虚拟主机功能来查看我的网站,我的代码不在 wamp64\www\ 文件夹中,而是在我的文档文件夹中。我已经能够允许其他设备查看 wampserver 默认页面,但是每当我访问我的网站时,我都会收到“找不到 fitly 的服务器 DNS 地址”

这里是 httpd-vhosts.conf 文件

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot C:/wamp64/www
    <Directory  "C:/wamp64/www/">
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    ServerName fitly
    DocumentRoot c:/users/juan/documents/fitly
    <Directory  "c:/users/juan/documents/fitly/">
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

【问题讨论】:

    标签: apache virtualhost wampserver


    【解决方案1】:

    这是我过去使用的解决方案。虽然我承认肯定还有其他 方法,我发现没有一个更快/更容易实现。

    Here is another way, without using Fiddler

    基本问题当然是我们无法通过移动设备的名称来寻址我们的虚拟主机,即使它是通过 wifi 连接到我们的路由器子网的,因为设备浏览器不知道在哪里在我们尝试使用时找到我们的虚拟托管域名。

    由于大多数(如果不是所有)移动设备都已锁定,并且假设您像我一样不想jailbreak您的所有测试设备,我们不能采取简单的选择将我们的虚拟主机的名称添加到设备 HOSTS 文件中,这当然确实存在,但是设备安全性阻止我们访问它。

    所以我使用Fiddler 在服务器 PC 上创建反向代理,这样我就可以使用像 192.168.1.10:8888 这样的网站地址(我的网络服务器 PC 的 IP 地址和端口号)并获取 Fiddler 来捕获该地址并将其转换为 http://fitly 并将其传递给 Apache,然后它会正确找到我的开发虚拟托管站点。

    为此,您需要安装 Fiddler which can be found here and is free

    首先确保您的虚拟托管域在运行 WAMPServer(Apache) 的 PC 上正常工作。

    然后对Fiddler 配置进行这些修改,不用担心它很简单。 Here are the instruction on how to do that on the Fiddler Site 基本上是

    1. 单击工具 > Fiddler 选项。确保选中允许远程客户端连接。

    2. 单击工具 > Fiddler 选项,并确保选中“允许远程客户端连接”复选框。

    3. 如果出现提示,请重新启动 Fiddler。

    4. 单击规则 > 自定义规则。

    5. 在 OnBeforeRequest 处理程序*中,添加新的代码行:

      if ( oSession.host.ToLower() == "192.168.1.2:8888" ) { oSession.host = "fitly"; }

    192.168.1.2 是运行 Apache 的 PC 的 IP 地址,即我们安装了 WAMPServer(Apache) 和 Fiddler 的 PC 的 IP 地址。

    1. 使用该设备,转到http://192.168.1.2:8888。 Fiddler 现在应该捕获该地址并使用您的虚拟主机的域名将其转发给 Apache,以便 Apache 可以看到它并将您传递到正确的站点,类似的响应将被发送回发出呼叫的设备。

    当然你可以使用任何你喜欢的端口号,不必是8888

    您还会发现 Fiddler 对于调试您网站的许多问题非常有用,因此不要假设它只是一个反向代理。

    【讨论】:

    • 工作就像一个魅力,感谢您的解释和一步一步的过程。
    • @YoyoBu 我不明白为什么不这样做,但正如我所说,我现在使用不同的机制,请参阅答案中的链接
    猜你喜欢
    • 2015-01-25
    • 2019-01-05
    • 2013-03-15
    • 2014-07-15
    • 2014-09-20
    • 2016-05-16
    • 2019-05-28
    • 2014-04-08
    • 2011-09-30
    相关资源
    最近更新 更多