見出し画像

Python で簡易ローカルHTTPSサーバを立てる

「Python」で簡易ローカルHTTPSサーバを立てる方法をまとめました。

・Python 3.10
・macOS


1. ローカルHTTPSサーバを立てる

ローカルHTTPSサーバを立てる手順は、次のとおりです。

(1) SSL証明書と秘密鍵の準備。
以下のコマンドで「cert.pem」「key.pem」が生成されます。

openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes
Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:Tokyo
Locality Name (eg, city) []:Bunkyo
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Personal
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:localhost
Email Address []:

(2) 表示するHTMLの準備。

・index.html

Hello World!

(3) Pythonの仮想環境の準備。

(4) サーバの準備。

・https_server.py

import http.server
import ssl

# サーバのアドレスとポートを設定
server_address = ('0.0.0.0', 4443)
handler = http.server.SimpleHTTPRequestHandler
httpd = http.server.HTTPServer(server_address, handler)

# SSLを設定
httpd.socket = ssl.wrap_socket(
    httpd.socket,
    server_side=True,
    certfile="cert.pem",
    keyfile="key.pem",
    ssl_version=ssl.PROTOCOL_TLS
)

# 起動
print("HTTPS Server running on https://0.0.0.0:4443")
httpd.serve_forever()

(5) サーバの起動。

python https_server.py

2. ローカルHTTPSサーバにアクセス

ローカルHTTPSサーバにアクセスする手順は、次のとおりです。

(1) ローカルHTTPSサーバを立てたPCのIPアドレスを確認。
IPアドレスは環境によって変わります。

ipconfig getifaddr en0
192.168.2.179

(2) 同じWi-Fiネットワーク内の端末のブラウザで「https://192.168.2.179:4443」を開く。
IPアドレスは環境によって変わります。

Chromeでは「この接続ではプライバシーが保護されません」と警告が表示されますが、「詳細設定→アクセスする」で表示できます。



いいなと思ったら応援しよう!