[ 작업 환경 ]
python 3.7.5 (pyenv)
(Local은 2.7)
Centos 7.3
Flask 1.1
1. openssl 및 pyopssl 설치
yum install openssl
pip install pyopenssl
2. certbot-auto 설치 및 실행 권한 추가
wget https://dl.eff.org/certbot-auto
chmod +x certbot-auto
3. certbot-auto를 통해
./certbot-auto certonly --standalone -d anticorona.ga
./certbot-auto certonly --standalone -d 도메인
4. 설치 complete후 이어서 바로 나오는 질문에 다음과 같이 답변
- 이메일 입력
- a (=agree)
- y (=yes)
5. certbot-auto을 통한 설치 및 세팅하면서 생성된 인증 파일 copy
cp /etc/letsencrypt/live/도메인/fullchain.pem cert/server.crt
cp /etc/letsencrypt/live/도메인/privkey.pem cert/server.key
cd /pyenv_lab/app001
cp /etc/letsencrypt/live/anticorona.ga/fullchain.pem cert/server.crt
cp /etc/letsencrypt/live/anticorona.ga/privkey.pem cert/server.key
6. app.run 내용에 옵션으로 ssl_context 내용 추가
# vim runserver.py
from app001 import app
if __name__ == '__main__':
app.run(host='0.0.0.0', port='5001', debug=True, ssl_context=('./app001/cert/server.crt', './app001/cert/server.key'))
7. 최종 확인
https://도메인 으로 접속합니다.
EX -> https://anticorona.ga
안전하지 않음으로 이동하면 정상적으로 웹페이지를 확인할 수 있습니다. 예를 들어 지도 api를 호출하거나, 웹에서 위치 권한 요청 등을 하는 작업에 있어서 https 가 아닌, http 로 진행시 불가능하므로 위와 같은 작업을 통해 정상화할 수 있습니다.