Python 3 で簡単な HTTP Web サーバーを作成できることを知っています。
python -m http.server
ただし、WebServer への接続を保護する簡単な方法はありますか?証明書を生成する必要がありますか? どうすればいいですか?
まず、証明書が必要です。秘密鍵と公開鍵の両方localhost.pem
を含むファイルに証明書があると仮定すると、次のようになります。
import http.server, ssl
server_address = ('localhost', 4443)
httpd = http.server.HTTPServer(server_address, http.server.SimpleHTTPRequestHandler)
httpd.socket = ssl.wrap_socket(httpd.socket,
server_side=True,
certfile='localhost.pem',
ssl_version=ssl.PROTOCOL_TLS)
httpd.serve_forever()
wrap_socket
!に正しいパラメータを指定していることを確認してください。
注:これを使用して Web トラフィックを処理する場合は'0.0.0.0'
、代わりに を使用し'localhost'
てすべてのインターフェイスにバインドし、ポートを 443 (HTTPS の標準ポート) に変更し、許可を得るためにスーパーユーザー権限で実行する必要があります。既知のポートにバインドします。