WAMPServer,从手机访问服务器

问题描述 投票:2回答:1

所以我设置了几个带有唯一网址的虚拟主机,它们在桌面上运行得很好。但是,当我在网络上连接移动设备时,它似乎无法正常访问任何东西,而是默认的localhost虚拟主机,而且只有当它是我唯一拥有的虚拟主机时。

除了不同的网站标题之外,我的设置和编码几乎都是这样

wamp server 3.0 virtual host on another device

虽然该解决方案将我重定向到我的独特网址,但它在默认的wordpress网站上缺少图像。

有没有人设法让移动设备完全访问除localhost之外的链接?

mobile wamp virtualhost wampserver
1个回答
6
投票

自从我发布您引用的答案后,我决定采用更简单的解决方案。

What the actual problem is

因为我们不能像使用PC那样摆弄手机的配置,手机永远都找不到我们在服务器机器上的虚拟主机定义中创建的域名,因为它在任何DNS服务器中都不存在,无法找到它IP地址和DNS服务器是手机可以看到的唯一地方,除非它被监禁。

如果你想从另一台PC访问你的一个虚拟主机域,你可以像这样在另一台PC上的HOSTS文件中添加这样的一行。

192.168.0.10 example.local

但你不能在手机/平板电脑上这样做。

What Apache expects to be able to asssociate a request to a Vhost

当我们创建Apache虚拟主机时,我们实际上是在告诉Apache查看传入连接上的域名,并将该域名与我们的多个虚拟主机定义之一中存在的ServerName相匹配。

但是,如果我们在尝试连接到我们的手机时使用example.lccal作为我们的虚拟托管域,则手机会进行DNS查找并且找不到该域,因此无法获取其IP地址。

The simplest way to get round this is:

假设我们无权将记录添加到DNS服务器,我们必须提出不同的解决方案。

其中最简单的方法是使用运行WAMPServer(Apache)服务器的PC的IP地址和特定的端口号。这就是我们想要从手机中使用的每个网站的不同端口号。

So how do we do this

在现有的两个httpd.conf语句之后,将新的侦听端口添加到Listen

#Listen 12.34.56.78:80
Listen 0.0.0.0:80
Listen [::0]:80
Listen 0.0.0.0:8000
Listen [::0]:8000

建议的httpd-vhosts.conf文件

#
# Virtual Hosts
#

# Always keep localhost, and always first in the list
# this way a ramdom look at your IP address from an external IP
# maybe a hack, will get told access denied
<VirtualHost *:80>
    ServerName localhost
    DocumentRoot c:/wamp/www
    <Directory  "c:/wamp/www/">
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

# The normal Vhost definition for one of our sites
<VirtualHost *:80>
    ServerName example.local
    DocumentRoot "c:/websrc/example/www"
    <Directory  "d:/websrc/example/www/">
        Options +Indexes +Includes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

# Access example.dev from phone for testing
<VirtualHost *:8000>
    ServerName example.local
    DocumentRoot "c:/websrc/example/www"
    <Directory  "d:/websrc/example/www/">
        Options +Indexes +Includes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
        # assuming yoursubnet is 192.168.0.?
        # allow any ip on your WIFI access
        Require ip 192.168.0      
    </Directory>
</VirtualHost>

完成这些编辑后,从wampmanager重新启动Apache。

现在你通过使用ServerNameexample.dev从WAMPServer PC测试这个,并使用运行WAMPServer的PC的ip从手机上测试,端口号为192.168.0.10:8000

Apache将从两个请求中找到正确的代码。

如果您希望从手机访问多个虚拟主机,您只需复制此想法并更改每个新站点的端口号,假设您将使用8001,8002,8003等。对于您想要访问的多个站点。

您可能还需要修改防火墙以允许访问端口8000上的http或您选择使用的任何端口

© www.soinside.com 2019 - 2024. All rights reserved.