Одноразовый HTTPS‑сервер с OpenSSL и Bash

Практические лайфхаки для разработчиков, DevOps и админов: Docker, Linux, Bash, Python, Golang, Ansible, логи и безопасность — только рабочие решения. Даем готовые команды, конфиги и приёмы диагностики, которые экономят часы и дни. Если нужно быстро настроить, отладить и обезопасить инфраструктуру — вы по адресу.

opensslhttpspython

ℹ️ Иногда нужно быстро поднять HTTPS-сервер для тестирования чего-то в локальной сети или демонстрации. Вместо того чтобы настраивать Nginx или Apache, можно использовать всего одну команду с OpenSSL.

➡️ Пример:

Вы хотите раздать файл или папку по HTTPS, чтобы коллеги могли быстро скачать данные.

openssl req -new -x509 -days 1 -nodes -out cert.pem -keyout key.pem -subj "/CN=localhost"

python3 -m http.server 8080 --bind 127.0.0.1 &

openssl s_server -cert cert.pem -key key.pem -www -port 8443 -accept 127.0.0.1:8443

🔥 Теперь ваш сервер будет доступен по HTTPS на порту 8443, и любой файл в текущей директории можно скачать, просто открыв в браузере https://<your-ip>:8443.

Объяснение:

  • - openssl req -new -x509 -days 1 ... — создается самоподписанный сертификат для временного использования.
  • - python3 -m http.server 8080 — запускается стандартный HTTP-сервер Python на порту 8080.
  • - openssl s_server — запускает HTTPS-прокси, который передает трафик от клиента на локальный HTTP-сервер.

🌐 Одноразовый сервер для передачи файлов по HTTPS

Если нужно раздать только один файл:

openssl req -new -x509 -days 1 -nodes -out cert.pem -keyout key.pem -subj "/CN=localhost"

openssl s_server -cert cert.pem -key key.pem -accept 8443 -WWW -HTTP /path/to/file

✳️ Теперь любой пользователь, открыв https://<your-ip>:8443, сможет сразу скачать указанный файл.

tags: #полезно #linux #web

🧭 @recura_tech

Схематичное изображение серверов, ноутбука и значка замка на фоне сетевых линий; символ защищённого HTTPS‑соединения и передачи файлов в локальной сети.
Иллюстрация: серверная стойка и замок как метафора защищённого HTTPS‑сервера и обмена файлами.

Читайте так же