Blog/content/posts/2022/new-ssl-cert-and-private-key.md

1.2 KiB
Raw Blame History

title date draft tags
Локальный SSL HTTP сервер на Python 2022-11-02T00:15:40+03:00 false
privacy
python
tips

При необходимости запустить локальный SSL HTTP сервер, необходимо прочитать пост дальше этой строчки.

Генерируем сертификат

Для генерации сертификата и приватного ключа необходимо выполнить следующие команды:

openssl genrsa 2048 > key.pem
openssl req -x509 -days 365 -new -key key.pem -out cert.pem
# далее нужно заполнить необходимую информацию

В директории появятся два файла: cert.pem и key.pem.

Запускаем сервер на Python

Код сервера:

from http.server import HTTPServer, SimpleHTTPRequestHandler
import ssl

httpd = HTTPServer(('localhost', 1443), SimpleHTTPRequestHandler)
httpd.socket = ssl.wrap_socket(httpd.socket, certfile='cert.pem', keyfile='key.pem', server_side=True)
httpd.serve_forever()

Не забываем, что сервер доступен по протоколу https://.