我已經在 Ubuntu Linux 上設定了 Apache Web 伺服器。我可以將其視為http://localhost和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
阿帕契會議:
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。