SSL-сертификат для IP
Одна команда — и бесплатный доверенный HTTPS-сертификат Let's Encrypt для IP-адреса вашего сервера, без домена; устанавливается и продлевается автоматически.
Запустите от root на сервере
bash <(curl -sL ipk.me/ssl) -l ru 216.73.217.175 -l ru | Язык отчёта (как у этой страницы) |
-4 / -6 | Только IPv4 или IPv6 |
-w /var/www/html | Проверка через корневой каталог веб-сервера вместо временного сервера на порту 80 |
-r "systemctl reload nginx" | Команда после каждого продления (по умолчанию: перезагрузить запущенный nginx / Apache / Caddy) |
-d /etc/ssl/ipk | Куда установить файлы сертификата |
-y | Не спрашивать перед остановкой веб-сервера на порту 80 |
--alpn | Проверка через порт 443 (TLS-ALPN-01) вместо порта 80 |
--staging | Тестовая среда Let's Encrypt (недоверенный сертификат, чтобы попробовать) |
203.0.113.10 2001:db8::10 | IP-адреса для сертификата. Без них берётся исходящий IPv4 / IPv6 сервера; если публичных IP больше, скрипт спросит, какие включить |
Как это работает
- Встроенный лёгкий ACME-клиент (нужны только bash, openssl и curl; python3 — для временного сервера проверки) запрашивает сертификат с краткосрочным профилем Let's Encrypt: IP-сертификаты действуют около 6 дней и продлеваются каждые 3 дня.
- Проверка идёт через порт 80 (HTTP-01), поэтому порт 80 этого IP должен быть доступен из интернета; перед выпуском ipk.me проверяет это снаружи.
- Порт 80 заблокирован? Подойдёт и порт 443 (TLS-ALPN-01): добавьте --alpn; он выбирается и автоматически, если доступен только 443. IP-сертификаты нельзя проверить через DNS.
- После выпуска выводятся пути к сертификату и ключу и срок действия; копия скрипта хранится в /etc/ssl/ipk, а в crontab добавляется ежедневная задача продления.
- Если порт 80 / 443 занят nginx, Apache или Caddy, он останавливается на несколько секунд при выпуске и продлении; с -w этого можно избежать.
- IPv4 и IPv6 попадают в один сертификат. Частные и CGNAT-адреса получить его не могут. В материковом Китае облачные провайдеры часто блокируют порт 80 на серверах без регистрации ICP.
- Работает в Linux. На ipk.me отправляются только ваши IP-адреса; закрытый ключ не покидает сервер.