본문 바로가기

Server

[Server] Hosts 적용이 안될 경우

728x90
반응형

도메인으로 되어 있는 개발 서버를 접속하려고 하니 안되는 문제가 후임의 PC에서 발생했습니다. IP로 접속하면 접속은 되는데 화면만 뜨고 아무것도 되지 않아서 테스트 진행이 불가능했습니다.

원래 C:\Windows\System32\drivers\etc 경로에 있는 Hosts 파일에 메모장을 관리자 권한으로 연 후에 IP와 도메인을 작성하면 접속 가능했는데 도통 접속이 되질 않았습니다. 구글에서 해결 방법을 찾다 보니 어느 외국인이 해결법 9개를 적어 놓은게 있었는데 하나 하나 차례대로 따라가보니 7번 째 방법으로 해결되었습니다. 여기에 번역해서 적어 놓으려 하니 많은 분들에게 도움이 되었으면 합니다.

 

1. 방화벽 문제가 아닌가?
 첫 번째는 방화벽 문제인가 아닌가를 판단하는 방법입니다. 시작에 cmd를 쳐서 명령 프롬프트를 실행시킵니다. 그리고 아래와 같이 입력합니다.
ping www.접속 할 도메인.com
여기서 재대로 응답이 돌아온다면 방화벽이 열려 있는 것이고 응답이 돌아오지 않는다면 먼저 방화벽을 열어야 할 필요가 있습니다.

2. 가장 기본적인 확인
 두 번째는 가장 기본적인 확인입니다. hosts 파일의 이름과 확장자를 체크합니다. 종종 hosts를 host로 적거나 hosts.txt 로 저장하는 일이 있습니다.

3. 공백 체크
 공백을 체크해야 합니다. 보통 hosts 내부에 적는 방식은 아래와 같습니다.
127.0.0.1 http://localhost:8090/
 IP와 도메인 사이에 공백이 하나 들어가며 만약에 'http://localhost:8090/ '와 같이 공백이 들어가게 된다면 잘못된 값을 반환하므로 주의해야 합니다.

4. 레지스트리 key 체크
 레지스트리 key에 등록 된 hosts 파일의 경로를 체크해 봅시다. 시작에 regedit를 적으면 레지스트리 편집기가 나옵니다. 해당 프로그램을 실행시켜 봅시다. 프로그램을 실행한 후
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
아래 경로로 찾아 들어가면 편집기 오른 쪽에 key값들이 나옵니다. key중 DataBasePath 값을 보고
%SystemRoot%\System32\drivers\etc
위 값과 값이 같은지 아닌지를 체크하고 다르다면 위 값으로 변경해줍니다.

5. 권한 체크
 때때로는 권한 문제로 인해서 문제가 발생하는 일이 있습니다. 아래와 같이 시도해봅시다.
 1. 새로운 text 파일 생성
 2. Hosts 파일의 내용을 복사하여 기입
 3. 새 text 파일의 이름을 확장자 제거 후 hosts로 저장
 4. %SystemRoot%\System32\drivers\etc 폴더로 복사 후에 덮어쓰기
 5. 마우스 우클릭 후 속성 클릭 후 보안으로 들어가 로컬 유저에게 권한 부여

6. Encoding 문제
 Encoding에 문제가 있을 수도 있습니다. Hosts 파일은 ANSI나 UTF-8로 저장해줘야 Windows 7에서 읽을 수 있습니다. txt 파일 저장시에 하단에 뜨는 인코딩에 ANSI나 UTF-8로 지정하여 저장했는지 확인해 보도록 합시다.

7. 프록시 문제
 프록시 설정에 따라 문제가 발생할 수도 있습니다. 프록시 설정은 때때로 Hosts 파일을 무시하기도 합니다. 두 가지 해결책이 있는데, 첫 번째는 프록시 설정을 쓰지 않는 방법입니다.
도구 -> 인터넷 옵션 -> 연결 -> LAN 설정
 에 들어가서 모든 값이 공백이고 자동으로 설정 검색에 체크되어 있는지 확인합니다. 되어 있다면 프록시 설정을 쓰지 않는 것입니다.
 만약에 프록시 설정을 쓰고 싶다면 다시 LAN 설정으로 들어가서 고급 접속 후 예외에 아래 예제와 같이 넣어주도록 합니다.
localhost;127.0.0.1;*.dev

8. DNS 주소
 이 방법은 때로는 프록시 문제를 다시 일으키곤 한다네요.
네트워크 연결로 간 후에 TCP/IP 셋팅에서 첫 번째 DNS 서버를 변경하고 싶은 IP값을 넣어주도록 합니다. 두 번째에는 본인 PC의 실제 DNS IP를 적습니다.

9. 확장프로그램 사용

 이 방법은 위의 8가지 경우를 다 했는데도 불구하고 안되었을때 발견한 에러입니다. 크롬의 경우만 해당됩니다. 

컴퓨터에 여러가지 확장프로그램이 깔려있었는데 확장프로그램을 전부 비활성화 시킨 후 도메인에 접근해보니 실행이 되었습니다. 정확히 뭐가 문제인지는 모르겠지만 확장프로그램들 중에서 에러를 발생한 것으로 보입니다.

728x90
반응형