TGViewer
ServerAdmin.ru ServerAdmin.ru @srv_admin · 32.6K subscribers
Post #5302 10.1K
На днях проскочила новость о том, что Let's Encrypt запускает выпуск сертификатов на IP адреса. Меня это сразу заинтересовало, так как давно думал, почему этого нельзя сделать. Мне нередко хотелось выпустить сертификат на IP адрес, чтобы нормально работал запущенный на нём сервис, для которого нет необходимости делать доменное имя.

Сейчас многий софт без TLS и доверенного сертификата не хочет подключаться в принципе. Если выпускаешь самоподписанный сертификат, то надо настраивать доверие через передачу сертификата CA на целевую машину. Всё это создаёт неудобства, особенно в тестовой среде.

И вот теперь эта проблема решена. Можно взять виртуалку с внешним IP адресом и выпустить для него подтверждённый сертификат. Я сразу же решил проверить, как это работает.

Мне больше всего нравится certbot как клиент для взаимодействия с Let's Encrypt, хотя я пробовал и использовал все известные клиенты. К сожалению, у него пока не вышла стабильная версия с поддержкой этой новой функциональности. Проверял версию 4.0.0 из пакетов Debian 13, и самую свежую 5.2.2 из docker hub. Нет поддержки новых сертификатов. При запросе ошибка:

The Let's Encrypt certificate authority will not issue certificates for a bare IP address.


Сразу показываю рабочий вариант с использованием acme.sh. От установки, до выпуска сертификата:

# git clone https://github.com/acmesh-official/acme.sh.git
# cd ./acme.sh
# ./acme.sh --install -m zeroxzed@gmail.com
# ./acme.sh --issue -d 85.143.175.116 --standalone --server letsencrypt --certificate-profile shortlived

Получаем набор файлов для использования по назначению:

◽️ ~/.acme.sh/85.143.175.116_ecc/85.143.175.116.cer
◽️ ~/.acme.sh/85.143.175.116_ecc/85.143.175.116.key
◽️ ~/.acme.sh/85.143.175.116_ecc/fullchain.cer

Устанавливаем веб сервер, прописываем там в виде доменного имени IP адрес, подключаем этот сертификат. Пример для Angie/Nginx:

# mkdir -p /etc/nginx/tls
# ./acme.sh --install-cert -d 85.143.175.116 --key-file /etc/nginx/tls/85.143.175.116.key --fullchain-file /etc/nginx/tls/85.143.175.116.cer --reloadcmd "systemctl reload nginx"

Рисуем примерно такую конфигурацию для доступа по IP адресу:

server {
  listen 80 default_server;
  listen 443 ssl default_server;

  ssl_certificate /etc/nginx/tls/85.143.175.116.cer;
  ssl_certificate_key /etc/nginx/tls/85.143.175.116.key;

  root /var/www/html;
  index index.html index.htm index.nginx-debian.html;

  server_name _;

  location / {
    try_files $uri $uri/ =404;
  }
}


Заходим по HTTPS на IP адрес сервера и видим действительный сертификат. Никаких предупреждений.

Сертификат выдаётся менее чем на 7 дней, так что нужно внимательно следить за автоматическим обновлением. Описанных в заметке настроек достаточно для этого. Acme.sh добавил задание в cron пользователя, будет запускаться раз в сутки.

Удобная и функциональная возможность. Берите на вооружение. Не знаю, поддерживает ли получение таких сертификатов Angie напрямую, через свой встроенный клиент. Я не проверял. Если у кого-то есть информация, поделитесь.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX

#webserver #angie #nginx
  • 👍 222
  • 👎 1
More from @srv_admin
  1. Sep 29, 2026Что крупные заказчики проверяют на пилоте NGFW Чем крупнее сеть, тем выше требования к NGF…
  2. Sep 28, 2026Компания Microsoft давно анонсировала возврат настройки по управлению размещением панели з…
  3. Sep 28, 2026Сложный, но критически важный процесс: усиление защищенности инфраструктуры. Для него нужн…
  4. Sep 28, 2026Узнал совсем недавно про очень любопытный проект для запуска PHP приложений. Я краем глаза…
  5. Sep 25, 2026▶️ Очередная подборка авторских IT роликов, которые я лично посмотрел и посчитал интересны…
  6. Sep 25, 2026Подписчик поделился полезным проектом - Webtop. Это Linux дистрибутив с графикой, упакован…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →