Apache: 192.168.1.102에서 192.168.1.101의 로컬 호스트를 볼 수 있게 하려면 어떻게 해야 합니까?

Apache: 192.168.1.102에서 192.168.1.101의 로컬 호스트를 볼 수 있게 하려면 어떻게 해야 합니까?

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에 액세스하려고 하는지 확인하세요.

관련 정보