我在 Ubuntu Linux 上设置了一个 Apache Web 服务器。我可以看到它http://本地主机和http://192.168.1.101和http://default.local/。一切正常。但我无法使用 IP 地址从网络中的其他机器看到 localhost:http://192.168.1.101或者http://default.local/
我也已将192.168.1.101
两台计算机的/etc/hosts/
我将下面的几行添加到我的 apache conf 中:
`Allow from 192.168.1`
但它不起作用。它显示“连接已超时”。
我应该怎么办?
附言:
adp@adp-desktop:~$ sudo netstat -ap | grep apache
tcp 0 0 *:www *:* LISTEN 10581/apache2
tcp 0 0 localhost:www localhost:46017 ESTABLISHED 10586/apache2
Apache 会议:
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName default.local
DocumentRoot /home/www/public_html
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/www/public_html>
Options Indexes FollowSymLinks MultiViews
#AllowOverride None
AllowOverride all
Order allow,deny
allow from all
</Directory>
答案1
我不确定你是否清楚,但主机名localhost
是每台机器上的本地别名,指向 127.0.0.1,即本地环回接口。因此只能从本地机器访问。
当您遇到此类问题时,您需要做的是检查 Apache 套接字绑定到哪个 IP。为此,您可以使用。这将为您提供包含或 的netstat -ap | grep apache
行。请注意,端口号可以用更易理解的名称替换,例如。locahost:80
*:80
http
第一个意味着 Apache 仅绑定到本地接口,因此无法从网络上的其他计算机访问。第一个意味着只要允许流量流动并且正常运行(例如没有防火墙),就可以从网络访问 Apache。
编辑 :考虑到您发布的配置,您应该检查网络连接。确保两台电脑可以互相 ping 通,并确保您尝试访问正确的 IP。