Вернуть старое меню
Бесплатно, 24/7 8 (800) 775-97-42
Country flag RU
Country flag EN
Country flag DE
₽ RUB
$ USD
€ EUR
Выбрать VPS
Bare Metal
Маркетплейс
О нас
Сообщество
Поддержка
Баланс:
Бонусы:
Войти
Выйти
Зарегистрироваться
ГОТОВЫЕ ТАРИФЫ
Ref icon
VPS Старт От 149 рублей/мес
Ref icon
VPS Мощные Мощные серверы по выгодной цене
Ref icon
VPS Windows Удобные конфигурации для работы с ОС Windows
Ref icon
VPS Быстрые NVMe Максимальная скорость с промышленными NVMe дисками
Ref icon
VPS Plesk Настройте сервер под себя в несколько кликов
Ref icon
VPS с 1C для бухгалтеров Оптимизированные под 1C серверы
Ref icon
VPS для трейдинга Установите торговые терминалы за 1 клик
Ref icon
VPS для геймеров Мощное железо для мощных рейдов
Ref icon
VPS для бизнеса Настроить любой параметр сервера
Ref icon
Посмотреть все тарифы
Card icon Своя конфигурация
Удобный конфигуратор позволит вам настроить любой параметр сервера, а мы предложим за него лучшую цену.
Собрать
Card icon Бесплатный тест на 3 дня
Только для новых пользователей. Возьмите на тест любой сервер до 3000 рублей, проверьте приложения и программы, установив их на VPS.
Попробовать
АККАУНТ Мои серверы Домены Заказать Настройки Партнеру
ВЫДЕЛЕННЫЕ СЕРВЕРЫ
Ref icon
Bare Metal Старт От 19845 ₽/мес
Ref icon
Bare Metal Стандарт Универсальные серверы
Ref icon
Bare Metal Мощные Для ресурсоёмких задач
Ref icon
Bare Metal AMD EPYC Серверы на базе AMD EPYC
Ref icon
Bare Metal GPU Для машинного обучения
Ref icon
Все конфигурации
Card icon Выберите свой сервер
Найдите подходящий процессор, объём RAM, диски и другие параметры - получите оптимальную цену.
Заказать
Card icon Быстрый старт
Выделенный сервер будет доступен для подключения по SSH в течении 10 минут. Для ознакомления доступна посуточная аренда от 661.5 ₽/день.
Подробнее
АККАУНТ Мои серверы Домены Заказать Настройки Партнеру
КЛИЕНТАМ
О компании Входим в топ-20 IAAS в России
Дата-центры 22 ЦОД уровня Tier III в 9 странах
Аттестация по ФСТЭК Поможем с гос. лицензированием
Бонусная программа Накопительная система лояльности
Card icon Пинг до дата-центров
Измерьте ping от вас до всех наших дата-центров. Мы подберем тот, который подходит для вас идеально.
Измерить
Card icon Бесплатный тест на 3 дня
Только для новых пользователей. Возьмите на тест любой сервер до 3000 рублей, проверьте приложения и программы, установив их на VPS.
Попробовать
АККАУНТ Мои серверы Домены Заказать Настройки Партнеру
КЛИЕНТАМ
Справочник Пошаговые инструкции, как настроить VPS
FAQ Частые вопросы о настройке VPS и сервисе
Новости и события Новости сервиса, информация о событиях и спецпроектах компании
Card icon Соцсети
Наш блог на Хабре, выступления, новости компании.
Присоединиться
Card icon Бесплатный тест на 3 дня
Только для новых пользователей. Возьмите на тест любой сервер до 3000 рублей, проверьте приложения и программы, установив их на VPS.
Попробовать
АККАУНТ Мои серверы Домены Заказать Настройки Партнеру
Бесплатно, 24/7 8 (800) 775-97-42
Mobile menu button
Выбрать VPS
Mobile card icon
Своя конфигурация Удобный конфигуратор позволит вам настроить любой параметр сервера, а мы предложим за него лучшую цену.
Собрать
Ref icon
VPS Старт От 149 рублей/мес
Ref icon
VPS Мощные Мощные серверы по выгодной цене
Ref icon
VPS Windows Удобные конфигурации для работы с ОС Windows
Ref icon
VPS Быстрые NVMe Максимальная скорость с промышленными NVMe дисками
Ref icon
VPS Plesk Настройте сервер под себя в несколько кликов
Ref icon
VPS с 1C для бухгалтеров Оптимизированные под 1C серверы
Ref icon
VPS для трейдинга Установите торговые терминалы за 1 клик
Ref icon
VPS для геймеров Мощное железо для мощных рейдов
Ref icon
VPS для бизнеса Настроить любой параметр сервера
Ref icon
Посмотреть все тарифы
Ref icon
Бесплатный тест на 3 дня
Bare Metal
Mobile card icon
Выберите свой сервер Найдите подходящий процессор, объём RAM, диски и другие параметры - получите оптимальную цену.
Заказать
Ref icon
Bare Metal Старт От 19845 ₽/мес
Ref icon
Bare Metal Стандарт Универсальные серверы
Ref icon
Bare Metal Мощные Для ресурсоёмких задач
Ref icon
Bare Metal AMD EPYC Серверы на базе AMD EPYC
Ref icon
Bare Metal GPU Для машинного обучения
Ref icon
Все конфигурации
Маркетплейс
О нас
Mobile card icon
Пинг до дата-центров Измерьте ping от вас до всех наших дата-центров. Мы подберем тот, который подходит для вас идеально.
Измерить
О компании Входим в топ-20 IAAS в России
Дата-центры 22 ЦОД уровня Tier III в 9 странах
Аттестация по ФСТЭК Накопительная система лояльности
Бонусная программа Накопительная система лояльности
Сообщество
Mobile card icon
Соцсети Наш блог на Хабре, выступления, новости компании.
Присоединиться
Справочник Пошаговые инструкции, как настроить VPS
FAQ Частые вопросы о настройке VPS и сервисе
Новости и события Новости сервиса, информация о событиях и спецпроектах компании
Поддержка
Country flag RU
Country flag EN
Country flag DE
₽ RUB
$ USD
€ EUR
Войти
Зарегистрироваться
Личный кабинет
Мои серверы
Домены
Баланс: Бонусы:
Заказать
Настройки
Партнеру
Выйти
Мои Cерверы
Bare Metal
Услуги
Сертификаты
Домены
Заказать
Настройки
Партнеру
  • ВЫБРАТЬ VPS
  • ДАТА-ЦЕНТРЫ
  • СПРАВОЧНИК
  • ПОДДЕРЖКА
  • ВОЙТИ
RuVDS/Справочник/Сетевые настройки сервера/TLS-сертификат Let’s Encrypt: как установить на сайт, доступный только по IP-адресу

TLS-сертификат Let’s Encrypt: как установить на сайт, доступный только по IP-адресу

20 просмотров 0 2026-08-25 2026-09-01

Максимальная скорость с NVMe дисками за 1499 руб. в месяц.

TLS-сертификаты используются для организации защищённого доступа к сайтам и веб-приложениям по протоколу HTTPS. При использовании HTTPS данные между браузером пользователя и сервером передаются в зашифрованном виде, что позволяет защитить от перехвата пароли, данные форм и другую конфиденциальную информацию.

Обычно для получения TLS-сертификата используется доменное имя, направленное на IP-адрес сервера, на котором работает сайт. Однако в некоторых случаях сайт или веб-приложение может быть доступно только по IP-адресу и отдельное доменное имя для него не используется.

Let’s Encrypt поддерживает выпуск TLS-сертификатов именно для публичных IP-адресов. Такие сертификаты являются краткосрочными и имеют срок действия шесть дней. При их использовании необходимо дополнительно уделить внимание настройке автоматического продления, чтобы обеспечить непрерывную работу HTTPS-соединения.

В статье разберём, как получить TLS-сертификат Let’s Encrypt для сайта, доступного только по IP-адресу, и как настроить HTTPS для веб-серверов Nginx и Apache на примере VPS, работающего под управлением Ubuntu или Debian.

Настройка брандмауэра

Для успешной установки TLS-сертификата сервер должен принимать подключения по TCP-порту 80. Данный порт используется для подтверждения контроля над IP-адресом при помощи механизма HTTP-01 challenge. Если на сервере настроена защита при помощи брандмауэра, то для открытия порта выполните команду:

$ sudo ufw allow http

Чтобы сайт стал доступен после настройки HTTPS, необходимо также обеспечить доступ к TCP-порту 443. Для чего используйте команду:

$ sudo ufw allow https

Установка Certbot

Для получения TLS-сертификата Let’s Encrypt удобно использовать утилиту Certbot. Чтобы данная утилита могла работать с веб-сервером, доступ к которому осуществляется только по IP-адресу, нужна современная версия утилиты. Установка Certbot актуальной версии описана в соответствующей статье нашего справочника.

После установки проверьте версию Certbot:

$ certbot --version

Для получения сертификата с использованием требуемых опций рекомендуется использовать Certbot версии 5.4 или новее.

Установка TLS-сертификата Let’s Encrypt

В отличие от обычных сертификатов для доменных имён, сертификаты для узлов, доступных по IP-адресу, выпускаются с использованием профиля shortlived. Для получения сертификата выполните команду, заменив X.X.X.X на IP-адрес вашего сервера:

$ sudo certbot certonly \
--preferred-profile shortlived \
--ip-address X.X.X.X \
--webroot \
--webroot-path /var/www/html/

В данном случае:

  • certonly – указывает Certbot, что нужно получить сертификат без автоматического изменения конфигурации веб-сервера;
  • --preferred-profile shortlived – запрашивает краткосрочный профиль, необходимый для сертификатов с привязкой к IP-адресу;
  • --ip-address X.X.X.X – указывает IP-адрес, для которого необходимо получить сертификат;
  • --webroot – включает метод подтверждения через каталог сайта;
  • --webroot-path /var/www/html/ – указывает каталог, из которого веб-сервер публикует файлы сайта.

Если Certbot установлен с использованием Snap, то при запуске команды через sudo может потребоваться указать полный путь к исполняемому файлу. Это связано с тем, что sudo использует переменную окружения PATH, отличающуюся от переменной PATH текущего пользователя. В таком случае команда для получения сертификата должны выглядеть так:

$ sudo /snap/bin/certbot certonly \
  --preferred-profile shortlived \
  --ip-address X.X.X.X \
  --webroot \
  --webroot-path /var/www/html/

При выполнении команды Certbot попросит указать адрес электронной почты для регистрации аккаунта в инфраструктуре Let’s Encrypt. Затем утилита предложит согласиться с условиями обслуживания, что сделать необходимо, поскольку для получения сертификатов вы используете сервис Let’s Encrypt. Также Certbot попросит вашего согласия на передачу вашего E-mail в адрес EFF (Electronic Frontier Foundation) – партнёрской организации Let’s Encrypt. В данном случае согласие не является обязательным условием для получения сертификата. EFF может использовать указанный адрес для отправки новостей, информации о проектах и других материалов. От передачи адреса в EFF можно отказаться, ответив n.

После чего Certbot зарегистрирует аккаунт для вашего IP-адреса, выполнит проверку владения IP-адресом при помощи создания временного файла и обращения к нему по HTTP, и после успешной проверки Let’s Encrypt выпустит сертификат для указанного IP-адреса и сохранит файлы сертификата на вашем сервере. Путь, по которому сохранены файлы сертификата, Certbot выведет на экран.

Вывод работы Certbot - TLS-сертификат Let's Encrypt по IP-адресу

Поскольку в команде используется параметр certonly, Certbot только получит и сохранит сертификат, но не произведёт настройку Nginx или Apache. После получения сертификата необходимо самостоятельно указать пути к fullchain.pem и privkey.pem в конфигурации веб-сервера.

Настройка HTTPS в Nginx

Настройка доступа по HTTPS для сайта, работающего на Nginx, заключается во внесении изменений в файл конфигурации конкретного сайта. Чтобы это сделать, откройте для редактирования конфигурационный файл, например, дефолтной страницы Nginx:

$ sudo nano /etc/nginx/sites-available/default

В файле конфигурации приведите к следующему виду блок server, соответствующий настройкам подключения по HTTP:

server {
   listen 80;
   server_name X.X.X.X;

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

   location ^~ /.well-known/acme-challenge/ {
      root /var/www/html;
   }

   location / {
      return 301 https://$host$request_uri;
   }
}

Здесь:

  • listen 80 – включает приём HTTP-подключений через TCP-порт 80;
  • server_name – содержит IP-адрес сервера (укажите его вместо X.X.X.X);
  • location ^~ /.well-known/acme-challenge/ {root /var/www/html;} – предназначен для файлов проверки, которые Certbot временно создаёт при получении или продлении TLS-сертификата;
  • location / {return 301 https://$host$request_uri;} – обрабатывает все остальные HTTP-запросы.

Для настройки HTTPS-подключения в конец файла добавьте блок server со следующим содержимым:

server {
   listen 443 ssl;
   server_name X.X.X.X;

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

   ssl_certificate /etc/letsencrypt/live/X.X.X.X/fullchain.pem;
   ssl_certificate_key /etc/letsencrypt/live/X.X.X.X/privkey.pem;

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

В данном случае:

  • listen 443 ssl – включает приём HTTPS-подключений через TCP-порт 443;
  • server_name – содержит IP-адрес сервера (укажите его вместо X.X.X.X);
  • ssl_certificate – указывает путь к TLS-сертификату из вывода утилиты Certbot;
  • ssl_certificate_key – указывает путь к закрытому ключу из вывода утилиты Certbot.

По завершении редактирования закройте файл с сохранением изменений и проверьте конфигурацию Nginx:

$ sudo nginx -t
Проверка конфигурации Nginx на корректность синтаксиса

Если в выводе команды ошибок нет, примените новую конфигурацию:

$ sudo systemctl reload nginx

После чего проверьте доступность сайта по HTTPS. Для этого откройте браузер и перейдите по ссылке вида https://X.X.X.X, где вместо X.X.X.X укажите IP-адрес вашего сервера.

Дефолтная страница Nginx - TLS-сертификат Let's Encrypt по IP-адресу

Настройка HTTPS в Apache

Если сайт работает на Apache, то после установки TLS-сертификата необходимо внести изменения в HTTPS-конфигурацию сайта. Например, откройте для редактирования конфигурационный файл дефолтной страницы Apache:

$ sudo nano /etc/apache2/sites-available/default-ssl.conf

Основное содержимое данного конфигурационного файла должно содержать следующие строки:

<VirtualHost *:443>
   ServerName X.X.X.X
   DocumentRoot /var/www/html
   SSLEngine on
   SSLCertificateFile /etc/letsencrypt/live/X.X.X.X/fullchain.pem
   SSLCertificateKeyFile /etc/letsencrypt/live/X.X.X.X/privkey.pem
</VirtualHost>

Здесь:

  • ServerName – содержит IP-адрес сервера (укажите его вместо X.X.X.X);
  • DocumentRoot – содержит путь к файлам сайта;
  • SSLEngine on – включает приём HTTPS-подключений через TCP-порт 443;
  • SSLCertificateFile – содержит имя файла TLS-сертификата с указанием полного пути до него из вывода утилиты Certbot;
  • SSLCertificateKeyFile – содержит имя файла закрытого ключа с указанием полного пути до него из вывода утилиты Certbot.

После сохранения файла следующей командой в Apache включите модуль SSL, который обеспечивает поддержку HTTPS-соединений:

$ sudo a2enmod ssl

После чего включите конфигурацию HTTPS-сайта:

$ sudo a2ensite default-ssl

Затем проверьте конфигурацию Apache:

$ sudo apachectl configtest
Проверка конфигурации Apache на корректность синтаксиса

Если при проверке конфигурации команда выводит сообщение вида AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using X.X.X.X. Set the 'ServerName' directive globally to suppress this message, то имейте ввиду, что данный вывод не является ошибкой. Он означает, что Apache не удалось определить полное доменное имя сервера (FQDN). Поскольку в данном случае веб-страница не имеет доменного имени и доступ к ней осуществляется по IP-адресу, устранить это предупреждение можно, добавив в конец файла /etc/apache2/apache2.conf строку:

ServerName X.X.X.X

в которой вместо X.X.X.X укажите IP-адрес сервера.

Для применения всех изменений перезапустите конфигурацию веб-сервера:

$ sudo systemctl reload apache2

В качестве проверки откройте браузер и перейдите на https://X.X.X.X, где замените X.X.X.X на IP-адрес сервера.

Дефолтная страница Apache - TLS-сертификат Let's Encrypt по IP-адресу

Настройка автоматического продления сертификата

TLS-сертификаты Let’s Encrypt, выпущенные для IP-адресов, являются краткосрочными и действуют всего шесть дней. Поэтому особенно важно убедиться, что Certbot автоматически выполняет их продление.

Для проверки наличия системного таймера выполните команду:

$ systemctl list-timers | grep certbot

В выводе команды должна присутствовать строка, содержащая таймер Certbot.

Проверка наличия системного таймера

При этом если Certbot установлен при помощи pip, системный таймер Certbot может отсутствовать, и данная команда не будет иметь вывода. Это связано с тем, что pip устанавливает Python-пакет Certbot и его зависимости, но не создаёт системные службы и задания для автоматического запуска программ. В этом случае автоматическое продление сертификатов необходимо настроить отдельно, например, с использованием Cron. Проверить наличие уже настроенных заданий в Cron можно командой:

$ sudo crontab -l

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

Вывод настроенных заданий в Cron

Если же вывод команды выглядит как sudo: crontab: command not found, то это означает, что в системе не установлен пакет с утилитой crontab. Чтобы его установить, выполните:

$ sudo apt install cron

На следующем шаге проверьте фактический путь к Certbot:

$ which certbot
Вывод фактического пути к исполняемому файлу Certbot

После чего откройте таблицу заданий:

$ sudo crontab -e

В открывшемся редакторе добавьте, например, следующую строку:

0 */12 * * * /usr/bin/certbot renew --quiet

В этом примере Cron будет запускать проверку сертификатов каждые 12 часов, а Certbot самостоятельно определять, требуется ли продление сертификата. Обратите внимание на путь к исполняемому файлу Certbot. В данном случае необходимо использовать путь, указанный в выводе команды which certbot. А если Certbot был установлен при помощи Snap, данная строка будет выглядеть как:

0 */12 * * * /snap/bin/certbot renew --quiet

Проверка автоматического продления сертификата

При настройке продления сертификата как через системный таймер, так и при помощи Cron, рекомендуется выполнить тестовое продление:

$ sudo certbot renew --dry-run

Для Certbot, установленного с использованием Snap, данная команда будет выглядеть как:

$ sudo /snap/bin/certbot renew --dry-run

Во время выполнения команды Certbot проверяет все сертификаты, срок действия которых подходит к завершению в соответствии с правилами тестового продления. Для сертификатов, которые ещё не требуют продления, Certbot может вывести сообщение о том, что в их обновлении пока необходимости нет. При успешном завершении команды Certbot должен сообщить, что процесс проверки продления завершён без ошибок.

Тестовое продление TLS-сертификата Let's Encrypt для сайта, доступного по IP-адресу

После продления сертификата веб-сервер должен перечитать обновлённые файлы сертификата. Для этого можно настроить команду, которая будет выполняться после успешного продления.

Например, для Nginx данная команда выглядит следующим образом:

$ sudo certbot reconfigure --deploy-hook "systemctl reload nginx"

Здесь Certbot сохранит команду systemctl reload nginx в качестве deploy-hook. В дальнейшем она будет выполняться только после успешного получения или продления сертификата.

Для Apache настройка команды, которая будет выполняться после успешного продления, выглядит как:

$ sudo certbot reconfigure --deploy-hook "systemctl reload apache2"

И для Nginx, и для Apache при выполнении этой команды Certbot должен обнаружить сертификаты, конфигурацию которых можно изменить, после чего предложит выбрать требуемый.

Затем утилита предложит выполнить тестовое продление с новой конфигурацией и одновременно предложит проверить работу настроенного deploy-hook.

Если ввести R, то Certbot во время тестового продления выполнит настроенный deploy-hook, то есть произведёт дополнительную проверку команды перезапуска веб-сервера. Если отказаться, нажав N, то утилита выполнит тестовое продление, но не будет запускать deploy-hook. Сам deploy-hook при этом всё равно будет сохранён в конфигурации и во время реального продления сертификата будет выполнен. Таким образом, успешное продление будет включать в себя обновление файлов сертификата с последующим выполнением указанной команды, в результате чего веб-сервер загрузит новую версию TLS-сертификата.

Статья полезна?

Да  Нет
Похожие статьи
  • Как установить Nginx на Windows Server
  • Как установить aaPanel на Linux
  • Как установить Hestia Control Panel на Ubuntu и Debian
  • Как установить CloudPanel на Ubuntu 24.04
  • Как установить VictoriaMetrics на CentOS Stream или Rocky Linux
  • Как установить актуальную версию Certbot
Оставить комментарий Отменить ответ

Популярные статьи
  • Как подключиться по RDP из MacOS
  • Настройка VPN с использованием WireGuard
  • Как установить PostgreSQL и pgAdmin4 в Ubuntu 20.04
  • Как извлекать и разархивировать файлы .tar.gz в Linux-системах
  • Управление портами в Linux (Ubuntu/Debian/CentOS)
Разделы Справочника
  • Настройка VPS Сервера
  • Начало работы
  • Особенности виртуального сервера
  • Партнерам
  • Развертывание ПО на VPS сервере
  • Сетевые настройки сервера
RUVDSSat1
ARCTIC DC
CLOUDRUSSIA
StratoSat-TK1
STRATONET
GAME OVERNIGHT
VPS/VDS серверы:
Тестовый период
Дешевый VPS
VPS Старт
VPS Мощные
VPS Windows
VPS Быстрые NVMe
VPS с 1C
Форекс VPS
Игровые серверы
VPS для бизнеса
Пинг до дата-центров
Услуги:
Маркетплейс
Панель ispmanager
Антивирусная защита
Аренда лицензий
Облачное хранилище
VPS серверы с Plesk Obsidian
Колокация
Looking Glass
DNS
Клиентам:
О компании
Дата-Центры
Новости
Аттестация по ФСТЭК
Бонусная программа
Публичная Оферта
Условия использования ПО Microsoft
Соглашение об уровне услуг
Политика обработки персональных данных
Сувениры от RuVDS
Партнерам:
Для прессы
Партнерская программа
Отзывы
API
Помощь:
Справочник
FAQ
Созданных
серверов
231504
Huawey
Supermicro
Cisco
Intel
Microsoft
ISP
Kaspersky
RDCA Logo

«Креатив года» Премия ЦОДы.рф 2021, 2025

RDCA Logo

«Хостер года» Премия ЦОДы.рф 2023

RDCA Logo

«Человек года» Премия ЦОДы.рф 2024

RuVDS
support@RUVDS.com
8 (800) 775-97-42
+7 (495) 135-10-99
МЫ В СОЦИАЛЬНЫХ СЕТЯХ
Copyright © 2025 RuVDS. Все права защищены.
ООО "МТ ФИНАНС" | ОГРН 1157746680332
RuVDS включён в
реестр Роскомнадзора провайдеров хостинга
Оставить отзыв

Условия получения бонуса за оставленный отзыв:

  1. Напишите про нас на любом из специализированных сайтах для отзывов.
  2. Пришлите нам текст отзыва и ссылку на ваш отзыв.
  3. После проверки, мы опубликуем ваш отзыв у нас на сайте и также начислим бонус на ваш баланс.
Strong Testimonials form submission spinner.

Обязательное поле

Укажите электронную почту вашего аккаунта RUVDS
Укажите ссылку на ваш отзыв
rating fields
Поставьте оценку серверам RUVDS
Оставить отзыв
Strong Testimonials form submission spinner.

Обязательное поле

Укажите электронную почту вашего аккаунта RUVDS
Укажите ссылку на ваш отзыв
rating fields
Поставьте оценку серверам RUVDS