タヒチ モーレア島の夕日

エデン

それはまだ見ぬ自律航行型の水上ヴィラ

FlaskでSSL(https)を使用する方法

まずはSSL証明書を作成します。自己署名証明書(いわゆるオレオレ証明書)を作ります。

mkdir certs
cd certs
openssl genrsa -out server.key
openssl req -new -key server.key -out server.csr -subj "/C=JP/ST=Tokyo/L=Eden/O=edenPJ/CN=raspberrypi.local"
cat <<'EOS' > san.txt
subjectAltName = DNS:raspberrypi.local, IP:192.168.1.93
EOS
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt -extfile san.txt
openssl x509 -text -in server.crt -noout

ここまでで、秘密鍵『server.key』とサーバー証明書『server.crt』が作成できました。あとはFlaskを起動する際のオプションを変更しましょう。

app.run(debug=True, port=5000, ssl_context=('./certs/server.crt', './certs/server.key'), host='0.0.0.0')

今のところ私はpiユーザーで起動させていますので、ポートを5000にしています。

rootで実行すれば1024番以下のポートでもアサインできますので、標準の443番を設定する場合はrootで起動してください。


Posted

in

by

Tags: