У меня есть несколько сервисов, запущенных на локальном сервере, с которыми я хотел бы работать по 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 или доменом.
Как исправить это довольно просто:
Вы не можете использовать сертификат LE для IP-адресов. И на самом деле вы не должны делать этого ни за что. Как отмечали другие в комментариях, сертификаты привязаны не к IP-адресам, а к доменным именам.
Предполагая, что вы обращаетесь к этим службам через веб-браузер, сертификат учитывает только имя хоста в запросе. если вы обращаетесь к службе локально, в вашей локальной сети добавьте запись хоста в DNS.
192.168.0.10 www.example.com
Обновите внешний DNS, чтобы он указывал на ваш общедоступный IP-адрес. 85.24.69.2 www.example.com