我在一台 Ubuntu 机器上安装了 Apache,并创建了两个站点。我可以通过域名从本地主机访问这两个站点。问题是我无法通过我的 Android 手机访问它们。目前最重要的是 lazyjoe.lan(如下所示),这将是一个家庭在连接到 LAN 时可以使用的应用程序。
这是我的 /etc/hosts 文件,显示了有问题的两个域名:
127.0.0.1 localhost
127.0.1.1 HAL #<-- COMPUTER'S NAME
127.0.0.1 devsocialhub.com #<-- THIS ONE
127.0.0.1 lazyjoe.lan #<-- AND THIS ONE
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
这是 /etc/apache2/sites-enabled/lazyjoe.lan.conf 文件(为简洁起见,删除了注释)
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName lazyjoe.lan
DocumentRoot /var/www/lazyjoe.lan/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
我该如何实现:1) 我可以通过智能手机访问这些网站?2) 我可以通过域名而不是 IP 地址访问它们,因为两个网站都来自同一个 IP?在我的手机上输入 IP 只会显示 devsocialhub.com
我尝试寻找答案,但一直收到有关 WAMP 和 XAMPP 的问题,而他们的答案并没有帮助我解决这个问题。任何帮助我都会感激不尽,如果您需要更多信息,我很乐意提供。
笔记devsocialhub.com 归我所有,并通过域名注册商注册,但目前还不能公开查看。如果这影响到我通过手机访问它的能力,我不知道原因或如何解决它。
谢谢。
答案1
在我看来,你问题的答案基本上就是确保 DNS 记录可用。
具体来说,您可能需要在 LAN 路由器上进行类似的设置dnsmasq
(或者,如果您使用某些选项有限的接入点,则在 LAN 上创建一个 DNS 服务器,并让您的 DHCP 服务器将该 DNS 服务器推送到 LAN 客户端),并确保您拥有 LAN 主机的 DNS 记录。
从表面上看,您的 Apache 设置似乎很好,并且您对问题的描述似乎指向 DNS 的问题(即将名称映射到 IP 的机制) - 因此您应该能够只设置一个仅限 LAN 的 DNS 服务器,并获得您想要的功能。