HOSTS 파일 변경 시 Edge 브라우저에 반영하는 방법
윈도우 운영체제는 시스템 수준에서 DNS 캐시를 유지하고 있습니다. 따라서, 기본적으로는 ipconfig 명령어를 이용해 DNS 캐시를 비울 수 있습니다.
// 관리자 권한으로 실행
C:\Windows\System32> ipconfig /flushdns
Windows IP Configuration
Successfully flushed the DNS Resolver Cache.
하지만 Edge(를 포함한 크롬 계열의) 브라우저는 현재 실행 중인 경우 방문한 사이트에 대해 응용 프로그램 수준에서 캐시를 유지하고 있으므로 위의 명령어만으로는 그 효과를 볼 수 없습니다.
예를 들어, c:\Windows\system32\drivers\etc\HOSTS 파일에 다음과 같이 youtube ip를 바꿔도,
# c:\Windows\system32\drivers\etc\HOSTS
# ...[생략]...
127.0.0.1 www.youtube.com
edge에서 여전히 유튜브 서비스를 사용할 수 있습니다. 물론, 현재 실행 중인 모든 edge를 종료하고 다시 실행하면 되는데, 이게 은근히 귀찮은 작업이긴 합니다. 즉, Edge를 완전히 재시작하지 않아도 변경된 HOSTS 파일의 DNS를 반영하고 싶은 건데요, 이에 대해서는 다음의 글에 잘 설명하고 있습니다.
Edge: DNS Flush
; https://techcommunity.microsoft.com/t5/discussions/edge-dns-flush/td-p/1131012
"Ron Cone"의 덧글에 그 방법이 있는데요, 우선 다음의 명령어로 edge 브라우저 내에서 DNS 설정으로 들어가,
edge://net-internals/#dns
"Clear host cache" 버튼을 눌러 DNS 캐시를 비워야 합니다. 하지만, 그래도 여전히 유튜브 접속이 가능할 수 있는데요, 왜냐하면 유튜브를 방문한 TCP 소켓이 풀링되어 있는 경우가 있기 때문입니다. 따라서, 이럴 때는 다음의 명령어까지 실행해,
edge://net-internals/#sockets
"Close idle sockets", "Flush socket pools" 버튼을 눌러주면 됩니다.
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]