radames's picture
simple https local server
fca36d1
raw
history blame contribute delete
No virus
958 Bytes
#!/usr/bin/python3
# taken from http://www.piware.de/2011/01/creating-an-https-server-in-python/
# generate server.xml with the following command:
# openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes
# run as follows:
# python simple-https-server.py
# then in your browser, visit:
# https://localhost:4443
#
# openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes
from http.server import HTTPServer, SimpleHTTPRequestHandler
import ssl, os
if not os.path.exists("key.pem") or not os.path.exists("cert.pem"):
os.system(
"openssl req -nodes -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -subj '/CN=mylocalhost'"
)
port = 443
httpd = HTTPServer(("0.0.0.0", port), SimpleHTTPRequestHandler)
httpd.socket = ssl.wrap_socket(
httpd.socket, keyfile="key.pem", certfile="cert.pem", server_side=True
)
print(f"Server running on https://0.0.0.0:{port}")
httpd.serve_forever()