Ubuntu Linux에 Apache 웹 서버를 설정했습니다. 나는 그것을 볼 수 있습니다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에 도달할 수 있음을 의미합니다.
편집하다 :게시한 구성을 고려하여 네트워크 연결을 확인해야 합니다. 두 PC가 서로 핑을 보낼 수 있는지 확인하고 올바른 IP에 액세스하려고 하는지 확인하세요.