from http.server import BaseHTTPRequestHandler, HTTPServer import itertools, ssl servers = { 'https://10.0.2.1:443', 'https://10.0.2.2:443', 'https://10.0.2.3:443', 'https://10.0.2.4:443', 'https://10.0.2.5:443' } server_cycle = itertools.cycle(servers) class Handler(BaseHTTPRequestHandler): def do_GET(self): server = next(server_cycle) self.send_response(302) self.send_header('Location', server) self.end_headers() self.wfile.write(b'Redirecting...') # HTTPS server certfile = 'cert.pem' keyfile = 'key.pem' ssl_context = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH) ssl_context.load_cert_chain(certfile=certfile, keyfile=keyfile) server_address = ('', 443) load_balancer = HTTPServer(server_address, Handler) load_balancer.socket = ssl_context.wrap_socket(load_balancer.socket) load_balancer.serve_forever()