Let's Encrypt не выдает сертификаты для локальных сетей
Как вы правильно заметили, сертификат привязан к имени домена и только к имени домена. У него нет записи об IP-адресе, поэтому, если вы заходите по доменному имени, у браузеров не будет причин заботиться о том, какой это IP-адрес. (Кроме того, вы упомянули, что домен все равно будет преобразован в публичный адрес.)
Обратной стороной является то, что вы не можете напрямую посетить https://10.10.10.5
, что приведет к несоответствию.
(Тем не менее, если сертификат был выдан специально для IP-адреса - который LE не предлагает, но некоторые другие CA делают - тогда да, это должен быть публичный адрес. Но здесь дело обстоит не так.)
Поэтому сейчас ваше единственное требование - пройти один из поддерживаемых механизмов проверки LE.
Если, как вы говорите, домен будет преобразован в общедоступный адрес и в конечном итоге приведет к общедоступному веб-серверу, проверка HTTP будет работать нормально. (LE не заботится о том, что происходит за кулисами, если серверы проверки могут его получить
http://<yourdomain>/.well-known/etcetera
)Даже если веб-сервер не является общедоступным (или вообще не имеет веб-сервера), LE также поддерживает проверку на основе DNS, которая требует только добавления дополнительных DNS-записей в публичный домен.
Примечание о переадресации портов: если ваш домен преобразуется в ваш общедоступный IP-адрес, доступ к нему из локальной сети потребует включения «отражения / закрепления / петли NAT» в вашем маршрутизаторе; в противном случае домен не будет доступен из локальной сети вообще.