Skip to content

Instantly share code, notes, and snippets.

@madduci
Last active September 25, 2019 07:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save madduci/0d92091b0b415f57832a5e5bdbed4160 to your computer and use it in GitHub Desktop.
Save madduci/0d92091b0b415f57832a5e5bdbed4160 to your computer and use it in GitHub Desktop.
Python3 HTTPS Server
#!/usr/bin/python3
from http.server import HTTPServer, SimpleHTTPRequestHandler
import socket
import ssl
import socketserver
listen_addr = 'test.de'
listen_port = 4443
server_cert = './ssl/server-crt.pem'
server_key = './ssl/server-key.pem'
client_certs = './ssl/rootCA.pem'
if __name__ == '__main__':
tls_server = HTTPServer((listen_addr, listen_port), SimpleHTTPRequestHandler)
tls_server.socket = ssl.wrap_socket(tls_server.socket,
ssl_version=ssl.PROTOCOL_TLSv1_2,
keyfile=server_key,
certfile=server_cert,
server_side=True,
ca_certs=client_certs,
cert_reqs=ssl.CERT_REQUIRED)
tls_server.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
print("Serving on port 4443")
tls_server.serve_forever()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment