반응형
오류 발생 경로
app.py에 mongoDB의 경로, 아이디, 패스워드까지 제대로 입력했음에도 불구하고 다음과 같은 에러가 발생했다.
오류 내역
pymongo.errors.ServerSelectionTimeoutError:
ac-offmh0k-shard-00-02.grjwzgf.mongodb.net:27017
: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108),
ac-offmh0k-shard-00-00.grjwzgf.mongodb.net:27017
: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108),
ac-offmh0k-shard-00-01.grjwzgf.mongodb.net:27017
: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108), Timeout: 30s, Topology Description: <TopologyDescription id: 6423d0cdfb39c0b9cbef6034, topology_type: ReplicaSetNoPrimary, servers: [<ServerDescription ('
ac-offmh0k-shard-00-00.grjwzgf.mongodb.net
', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('
ac-offmh0k-shard-00-00.grjwzgf.mongodb.net:27017
: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)')>, <ServerDescription ('
ac-offmh0k-shard-00-01.grjwzgf.mongodb.net
', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('
ac-offmh0k-shard-00-01.grjwzgf.mongodb.net:27017
: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)')>, <ServerDescription ('
ac-offmh0k-shard-00-02.grjwzgf.mongodb.net
', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('
ac-offmh0k-shard-00-02.grjwzgf.mongodb.net:27017
: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)')>]>
오류 원인 및 해결 방법
사용하고 있는 인터넷 환경에 따라 보안 관련 추가 설정을 해줘야 할 때가 있다고 한다. 따라서 다음과 같이 보안 관련 설정을 추가해주었다.
1-1. VSCode 기준
터미널 창을 이용해 certifi 패키지를 설치한다.
pip install certifi
1-2. Pycharm 기준
1) 파이참 상단에서 파일 → 설정을 클릭한다.
2. 좌측 메뉴에서 프로젝트: (프로젝트명) 하위의 Python 인터프리터를 클릭한다. 그 후 리스트의 맨 왼쪽에 있는 + 버튼을 클릭한다.
3. 검색창에 certifi 입력 후 선택, 좌측 하단의 패키지 설치를 클릭한다.
2. mongoDB를 불러오는 app.py의 코드를 다음과 같이 수정한다.
from pymongo import MongoClient
import certifi
ca = certifi.where()
client = MongoClient('본인의 mongoDB URL', tlsCAFile=ca)
db = client.DB명
3. 이후 mongoDB에 insert를 해보거나, 자유롭게 연결 테스트를 진행해 보면 된다!
반응형
'Back-End > Python' 카테고리의 다른 글
[Python] 파이썬에서 config.json 만들어 관리하기 (0) | 2023.03.29 |
---|