본문 바로가기

IT/Tech

크롬은 되는데 맥 사파리만 접속 안 될 때 - DNS 캐시 삭제로 해결하는 방법

Vultr VPS에 Cloudflare Tunnel로 n8n을 올리고 도메인까지 연결했는데, 사파리에서는 계속 "Safari가 서버를 찾을 수 없음"만 떴다. 설정을 한참 뒤지다가 혹시나 싶어 크롬으로 열어보니 n8n 로그인 화면이 멀쩡히 뜬다. 서버는 살아 있는데 브라우저에 따라 결과가 갈리니 처음엔 꽤 당황스럽다.

결론부터 말하면 서버 문제가 아니라 맥에 남아 있는 DNS 캐시 문제다. 사파리는 맥 시스템의 DNS 캐시를 그대로 쓰는데, 도메인 레코드를 만들기 전에 접속을 시도했던 "이 주소는 없음" 기록이 캐시에 남아 있었던 것이다. 이 글을 따라 하면 진짜 DNS 문제인지 캐시 문제인지 1분 안에 가려내고, 사파리 접속까지 복구할 수 있다.

검증 환경: MacBook Pro (M4 Pro) / Safari · Chrome / Cloudflare Tunnel + DNS / Vultr VPS(Ubuntu 26.04) n8n 기준 (2026.09 작성)

 

서버 세팅 과정은 이전 포스트에서 정리했다.

2026.06.08 - [IT/AI 자동화] - Vultr 가상서버에 n8n 설치하기 : Docker·Cloudflare로 HTTPS://내도메인 24시간 서버 구축! 맥미니 비용의 30%, 프로모션 코드 혜택까지 정리

 

Vultr 가상서버에 n8n 설치하기 : Docker·Cloudflare로 HTTPS://내도메인 24시간 서버 구축! 맥미니 비용의

자동화 좀 굴려보겠다고 n8n을 깔려다 막힌 건, 정작 24시간 켜둘 컴퓨터였다.맥미니를 종일 돌리고 있지만 월 5~12달러짜리 Vultr VPS 하나면 맥미니 값의 30% 수준으로 24시간 도는 n8n 서버를 가질 수

servertrix.com

1. 증상 - 크롬은 되고 사파리만 안 된다

상황을 정리하면 이랬다.

  1. Cloudflare 터널은 "정상", Vultr 인스턴스는 Running, 컨테이너도 둘 다 Up 상태
  2. 그런데 사파리로 https://n8n-vultr.내도메인.com에 접속하면 "Safari가 서버를 찾을 수 없음"
  3. 원인을 찾아보니 Cloudflare DNS에 해당 서브도메인 레코드가 빠져 있어서 추가했다
  4. 레코드를 추가한 뒤에도 사파리는 그대로 실패, 크롬에서는 바로 로그인 화면이 뜸

여기서 중요한 단서는 에러 문구다. "서버를 찾을 수 없음"은 서버가 응답을 안 한 게 아니라 도메인 이름을 IP로 바꾸는 단계(DNS 조회)에서 실패했다는 뜻이다. 터널이 끊긴 거라면 Cloudflare의 1033이나 502 에러 페이지가 떴을 거다.

2. 원인 - 맥 DNS 캐시에 남은 "없음" 기록

DNS는 "있음" 결과만 캐시하는 게 아니다. "그런 도메인 없음" 응답도 일정 시간 캐시한다. 이걸 부정 캐시(Negative Cache)라고 부른다.

내 경우 순서가 이랬다.

  1. DNS 레코드가 없는 상태에서 사파리로 접속 시도 → "없음" 응답을 맥이 캐시
  2. Cloudflare에 레코드 추가 → 인터넷상의 DNS는 이미 정상
  3. 사파리는 맥 시스템 캐시에 남은 "없음"을 계속 재사용 → 새로고침해도 실패

크롬만 된 이유는 DNS를 조회하는 경로가 달라서다.

브라우저별 DNS 조회 방식 차이
항목 사파리 크롬
DNS 조회 경로 맥 시스템 조회기(mDNSResponder) 크롬 자체 조회기 (보안 DNS를 켜면 DNS-over-HTTPS로 직접 조회)
사용하는 캐시 맥 시스템 캐시 크롬 자체 캐시
레코드 추가 직후 예전 "없음" 기록을 재사용해 실패 새로 조회해서 바로 성공
참고: 크롬도 자체 캐시가 있어서 항상 즉시 반영되는 건 아니다. 이번엔 크롬이 "없음" 기록을 들고 있지 않았을 뿐이다. 설정에 따라 반대 상황도 생길 수 있다.

3. 먼저 확인 - 진짜 DNS 문제인지 캐시 문제인지 가르기

캐시부터 지우기 전에, 레코드 자체가 정상인지 먼저 확인하는 게 순서다. 맥 터미널에서 아래 두 줄을 비교하면 바로 갈린다.

# 1. Cloudflare 공용 DNS에 직접 물어보기 (인터넷상의 실제 상태)
dig +short n8n-vultr.내도메인.com @1.1.1.1

# 2. 맥 시스템이 알고 있는 결과 확인 (사파리가 보는 값)
dscacheutil -q host -a name n8n-vultr.내도메인.com

도메인은 각자 본인 값으로 바꾸면 된다. 결과는 이렇게 읽는다.

조회 결과별 원인 판정
1번 (공용 DNS) 2번 (맥 시스템) 판정
IP 안 나옴 IP 안 나옴 DNS 레코드 자체가 없음 → Cloudflare DNS 레코드부터 추가
IP 나옴 IP 안 나옴 맥 캐시 문제 → 아래 4장으로
IP 나옴 IP 나옴 DNS는 정상 → 사파리 재시작, 시크릿 창으로 재접속
참고: Cloudflare Tunnel을 쓰는 경우 레코드가 "프록싱됨(주황 구름)" 상태여야 한다. 프록시를 끄면 터널 주소(*.cfargotunnel.com)가 외부에서 조회되지 않아 똑같이 "서버를 찾을 수 없음"이 뜬다.

 

4. 해결 방법 1 - 맥 DNS 캐시 비우고 사파리 재시작

가장 빠른 방법이다. 맥 터미널에서 아래 명령을 실행한다. 관리자 비밀번호를 물어보면 맥 로그인 비밀번호를 넣으면 된다.

# 맥 시스템 DNS 캐시 삭제
sudo dscacheutil -flushcache

# DNS 조회 서비스(mDNSResponder)에 캐시 초기화 신호 보내기
sudo killall -HUP mDNSResponder

그다음이 중요하다.

  1. 사파리를 창만 닫지 말고 ⌘Q로 완전히 종료한다
  2. 사파리를 다시 열고 주소를 입력한다
  3. 그래도 안 되면 시크릿 창(⇧⌘N)으로 한 번 더 시도한다

5. 해결 방법 2 - 그래도 안 될 때 확인할 것

캐시를 지웠는데도 사파리만 안 되면 맥에서 DNS를 가로채는 다른 기능이 있는지 본다.

iCloud 비공개 릴레이

사파리 전용 기능이라 크롬에는 영향이 없다. 켜져 있으면 사파리 트래픽이 애플 릴레이 쪽 DNS를 거치기 때문에 결과가 달라질 수 있다. 시스템 설정 → Apple 계정 → iCloud → 비공개 릴레이를 잠시 끄고 다시 접속해본다.

Tailscale MagicDNS 등 VPN·DNS 앱

나처럼 Tailscale을 쓰고 있다면 MagicDNS가 맥의 DNS 서버를 대신 잡고 있을 수 있다. 맥이 실제로 어떤 DNS 서버를 쓰는지 확인해보자.

# 맥이 사용 중인 DNS 서버 목록 확인
scutil --dns | grep nameserver | sort -u

100.100.100.100이 보이면 Tailscale DNS를 쓰고 있다는 뜻이다. Tailscale을 잠시 끄고 재접속해보면 원인이 갈린다.

기다리기

부정 캐시에는 유효 시간이 있어서, 아무것도 안 해도 일정 시간이 지나면 저절로 풀린다. 급하지 않다면 크롬으로 작업하면서 기다리는 것도 방법이다. 다만 언제 풀릴지 정확히 알 수 없으니 4장 방법을 먼저 해보는 게 속 편하다.

6. 마무리

핵심 3줄로 정리하면 이렇다.

  1. "서버를 찾을 수 없음"은 서버 장애가 아니라 DNS 조회 실패다
  2. 크롬은 되고 사파리만 안 되면, 맥 시스템 캐시에 남은 "없음" 기록일 가능성이 높다
  3. dig @1.1.1.1로 레코드 정상 여부를 먼저 보고, 캐시 삭제 후 사파리를 ⌘Q로 재시작한다

도메인 레코드를 새로 만들 때는 레코드를 먼저 만들고 그다음에 접속하는 습관을 들이면 이런 삽질을 애초에 피할 수 있다. 나처럼 성급하게 먼저 들어가 보면 캐시가 "없음"을 기억해버린다.

자주 묻는 질문(FAQ)

Q. 크롬은 되는데 사파리만 "서버를 찾을 수 없음"이 뜨는 이유는?
A. 두 브라우저가 DNS를 조회하는 경로가 다르기 때문이다. 사파리는 맥 시스템 캐시를 쓰는데, 도메인이 없던 시점의 "없음" 결과가 남아 있으면 레코드를 추가한 뒤에도 계속 실패한다.

Q. 맥 DNS 캐시는 어떻게 지우나?
A. 터미널에서 sudo dscacheutil -flushcache와 sudo killall -HUP mDNSResponder를 차례로 실행하고, 사파리를 완전히 종료했다가 다시 열면 된다.

Q. 캐시를 지웠는데도 사파리에서 안 되면?
A. dig +short 도메인 @1.1.1.1로 레코드가 실제로 있는지 먼저 확인한다. 레코드가 정상이면 iCloud 비공개 릴레이나 Tailscale MagicDNS 같은 DNS를 가로채는 기능을 잠시 끄고 다시 시도한다.