[python] python-dotenv를 사용하여 SSL 인증서 설정하기

SSL 인증서를 사용하여 웹사이트를 안전하게 운영할 때, 개발자는 보통 인증서 정보를 환경 변수에 저장해야 합니다. Python 개발자라면 python-dotenv 라이브러리를 사용하여 이 작업을 쉽게 수행할 수 있습니다.

1. python-dotenv 라이브러리 설치하기

먼저, python-dotenv 라이브러리를 설치해야 합니다. 다음 명령어를 실행하여 필요한 패키지를 설치합니다:

pip install python-dotenv

2. .env 파일 생성하기

인증서 정보를 저장할 .env 파일을 프로젝트 디렉터리에 생성합니다. 이 파일에는 다음과 같은 형식으로 인증서 정보를 저장할 수 있습니다:

CERT_PATH=/path/to/cert.pem
KEY_PATH=/path/to/key.pem

CERT_PATH는 인증서 파일의 경로를, KEY_PATH는 개인 키 파일의 경로를 지정합니다. 경로는 해당 파일이 저장된 경로로 수정해야 합니다.

3. Python 코드에 인증서 정보 사용하기

이제, Python 코드에서 python-dotenv를 사용하여 인증서 정보를 가져와 사용할 수 있습니다. 다음은 예제입니다:

from dotenv import load_dotenv
import os

load_dotenv()  # .env 파일 로드

cert_path = os.getenv("CERT_PATH")
key_path = os.getenv("KEY_PATH")

# 인증서 설정
app = Flask(__name__)
app.run(ssl_context=(cert_path, key_path))

우선, dotenv에서 load_dotenv 함수를 사용하여 .env 파일을 로드합니다. 이렇게 하면 .env 파일에 저장된 변수를 os.getenv("변수명")을 통해 가져올 수 있습니다. 그 후, 가져온 인증서 경로를 Flask 애플리케이션의 ssl_context 파라미터에 전달하여 인증서를 설정합니다.

이제, python-dotenv를 사용하여 SSL 인증서를 쉽게 설정할 수 있습니다. 이를 통해 개발자는 개인 키와 인증서 정보를 안전하게 보관하고, 코드에서 간편하게 사용할 수 있습니다.

참고 자료