python ssl server

This commit is contained in:
Alexander Popov 2022-11-02 00:45:41 +03:00
parent 9020ea4fb3
commit 78efa6f89e

View File

@ -0,0 +1,36 @@
---
title: "Локальный SSL HTTP сервер на Python"
date: 2022-11-02T00:15:40+03:00
draft: false
tags: [privacy, python, tips]
---
При необходимости запустить локальный SSL HTTP сервер,
необходимо прочитать пост дальше этой строчки.
## Генерируем сертификат
Для генерации сертификата и приватного ключа необходимо выполнить следующие команды:
```sh
openssl genrsa 2048 > key.pem
openssl req -x509 -days 365 -new -key key.pem -out cert.pem
# далее нужно заполнить необходимую информацию
```
В директории появятся два файла: `cert.pem` и `key.pem`.
## Запускаем сервер на Python
Код сервера:
```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://**.