개발

oauth2.googleapis.com을 IP 주소로 변환하지 못해 발생하는 DNS 관련 문제

murbachovski 2024. 8. 23. 10:23

오류 메시지: google.auth.exceptions.TransportError: HTTPSConnectionPool(host='oauth2.googleapis.com', port=443): Max retries exceeded... (Caused by NameResolutionError...)

 

위 오류로 얼마나 고생을 했는가...

8시간 이후로 데이터 수집이 멈추는 이슈가 발생했다.

 

우선 첫번째로

docker-compose.yml

version: '2'
services:
  sook-it-trap:
    build: ./sook-it-trap
    privileged: true
    restart: unless-stopped
    ports:
      - "80:8080"

 

restart: always => unless-stopped로 변경해줬다.

하지만 네트워크 오류가 발생하면서 시스템이 죽는거지 컨테이너가 죽는게 아니라서 효과가 없었다.

 

그리하여 우선적으로 시스템상에서 DNS 설정을 변경해주었다.

DNS 설정 변경을 통한 문제 해결

  1. DNS 설정 변경:
    • /etc/resolv.conf 파일을 편집하여 Google DNS 서버를 추가합니다.
      sudo nano /etc/resolv.conf
    • 파일에 다음과 같이 입력합니다:
      nameserver 8.8.8.8 nameserver 8.8.4.4
  2. DNS 캐시 플러시:
    • DNS 캐시를 플러시하여 이전 설정을 지웁니다.
      sudo systemd-resolve --flush-caches
  3. 네트워크 연결 재확인:
    • 네트워크 연결을 재확인하여 문제가 해결되었는지 확인합니다.

요약

  • DNS 문제로 발생한 오류를 해결하기 위해 /etc/resolv.conf 파일에서 DNS 서버를 Google DNS로 설정하고, DNS 캐시를 플러시하여 문제를 해결합니다.

 

아직까지 네트워크 끊기는 현상 없으며 좀 더 모니터링 후 도커에 DNS 서버 적용해주면 됩니다.

docker-compose.yml

version: '2'
services:
  sook-it-trap:
    build: ./sook-it-trap
    privileged: true
    restart: unless-stopped
    ports:
      - "80:8080"
    dns:
      - 8.8.8.8
      - 8.8.4.4