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»; в противном случае домен не будет доступен из локальной сети вообще.