alors je suis ce serveur https de l'Internet et je créé le certificat et le fichier clé avec cette commande:Https serveur commence toujours
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365
Et voici mon code (Python 3):
import ssl
from http.server import BaseHTTPRequestHandler, HTTPServer
class testHTTPServer_RequestHandler(BaseHTTPRequestHandler):
# GET
def do_GET(self):
# Send response status code
self.send_response(200)
# Send headers
self.send_header('Content-type', 'text/html')
self.end_headers()
# Send message back to client
message = "Hello world!"
# Write content as utf-8 data
self.wfile.write(bytes(message, "utf8"))
return
def run():
print('starting server...')
server_address = ('127.0.0.1', 1234)
httpd = HTTPServer(server_address, testHTTPServer_RequestHandler)
httpd.socket = ssl.wrap_socket(httpd.socket, certfile='cert.pem',keyfile='key.pem', server_side=True)
print('running server...')
httpd.serve_forever()
run()
Mais chaque fois que j'exécute ce code, il s'arrête au 'serveur de démarrage ...'
Qu'est-ce que je fais mal?
Votre keyfile a-t-il un mot de passe? – allo
Oui, lors de la création des certificats, j'ai ajouté un. Pourtant, je ne sais pas quel est le problème. – alex
Je ne peux pas tester ici maintenant, mais est-ce que le serveur vous a demandé le mot de passe? Faites l'inverse: créez un certificat/une clé avec le paramètre '' -nodes'' et testez si cela fonctionne. – allo