[SSL/TLS] 파이썬 Flask https 서버 만들기

[SSL/TLS] 파이썬 Flask https 서버 만들기

작성일: 8월 7일

Index

1. flask 서버 간단하게 만들기

2. 자체 서명된 인증서로 flask 서버 운영

1. flask 서버 간단하게 만들기

- 인증서를 adhoc 이라는 것을 이용하여 간단히 사용할 수 있음

- 위 내용의 코드

from flask import Flask, render_template, request import ssl app = Flask(__name__) @app.route('/hello') def index(): #return "Hello Everon Laboratory" return render_template('test01.html') @app.route('/') def hello(): return render_template('hello.html') if __name__ == "__main__": app.debug = True app.run(host="0.0.0.0", port="443", ssl_context='adhoc')

- 서버를 실행함

- 웹브라우저로 실행하여 인증서를 확인함

2. 자체 서명된 인증서로 flask 서버 운영

- x509 인증서를 개인키를 이용하여 생성함

- openssl req -x509 -newkey rsa:4096 -nodes -out cert.pem -keyout key.pem -days 365

- 인증서를 서버에 flask 서버에 적용시킴

- 위 내용의 코드

from flask import Flask, render_template, request import ssl app = Flask(__name__) @app.route('/hello') def index(): #return "Hello Everon Laboratory" return render_template('test01.html') @app.route('/') def hello(): return render_template('hello.html') if __name__ == "__main__": app.debug = True ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLS) ssl_context.load_cert_chain(certfile='cert.pem', keyfile='key.pem', password='louie') app.run(host="0.0.0.0", port=443, ssl_context=ssl_context)

- 브라우저를 통해 위해서 발행한 인증서 내용을 확인함

Referece:

https://www.hanbit.co.kr/media/channel/view.html?cms_code=CMS6163871474

https://blog.miguelgrinberg.com/post/running-your-flask-application-over-https

https://m.blog.naver.com/dsz08082/221956286256

from http://louie0724.tistory.com/459 by ccl(A) rewrite - 2021-08-09 10:00:20