Назад | Перейти на главную страницу

SSL без предупреждения для локальных IP-адресов

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

У меня есть служба общего хостинга с доменом и поддоменами, и при необходимости я могу даже получить для этого выделенный домен. Я получил сертификат Let's Encrypt от хоста, но при его локальном использовании выдает предупреждение, потому что локальный IP-адрес не является частью сертификата. Хост не поддерживает добавление IP-адреса, не размещенного на хосте, в сертификат, так что это бесполезно.

В настоящее время я запускаю сценарий на локальном компьютере, который связывается с удаленным сервером, который сохраняет IP-адрес, поэтому при обращении к определенной странице он считывает IP-адрес и перенаправляет. Это работает, но не подходит для SSL. Есть ли способ указать домену на динамический IP-адрес через сценарий на сервере, например, службы DDNS? В cpanel я могу указать только на статическое значение IP.

Какие есть решения для получения SSL для локальных и перенаправленных внешних IP-адресов, работающих на локальном компьютере без предупреждений?

Пример: Протестируйте сервис / сайт, работающий в домашнем интернет-соединении.

Локальный IP 192.168.0.10

Внешний IP 85.24.69.2 (перенаправлен и доступен из Интернета, динамический IP)

Эта служба должна быть доступна через HTTPS как из Интернета, так и локально. Локальный доступ (без подключения к Интернету) можно обойти с помощью файла hosts, если другого решения не существует. Адрес, используемый для доступа, может быть IP или доменом.

Как исправить это довольно просто:

  1. Купите домен для вашей локальной среды
  2. Создайте запись A в этом домене, указывающую на ваш внешний IP-адрес.
  3. На вашем локальном DNS-сервере (будь то потребительский маршрутизатор или такой) настройте DNS-зону для того же домена, указывая на ваш внутренний IP-адрес (192.168.0.10).
  4. Установите cert-bot auto (и следуйте инструкциям из https://letsencrypt.org/getting-started/
  5. Вы должны быть готовы к работе с надлежащим действующим безопасным соединением.

Вы не можете использовать сертификат LE для IP-адресов. И на самом деле вы не должны делать этого ни за что. Как отмечали другие в комментариях, сертификаты привязаны не к IP-адресам, а к доменным именам.

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

192.168.0.10 www.example.com

Обновите внешний DNS, чтобы он указывал на ваш общедоступный IP-адрес. 85.24.69.2 www.example.com