У меня есть несколько идентичных серверов за NAT. Я использую тот же IP-адрес и просто меняю порт для перемещения между сервером с помощью переадресации портов. Проблема в том, что я использую самозаверяющие сертификаты и получаю незащищенную войну.
Позволяет шифрованию не выдавать сертификаты, поскольку они выдают их только для полных доменных имен.
Можно ли применить доменное имя к NAT или серверам за NAT, чтобы я мог выдавать сертификат?
Да. Получите домен, указывающий на ваш публичный IP-адрес, получите сертификат для этого домена и все.
Браузеры (или другие приложения) обычно не заботятся о том, подключаются ли они, например, к https://example.com:444
вместо порта 443.
Вам понадобится доменное имя, указывающее на ваш публичный IP-адрес. Lets encrypt выдаст сертификат для веб-сервера, прослушивающего стандартные порты. Если вы хотите использовать этот сертификат для другого приложения на других серверах, вы можете скопировать ключ и сертификат на эти серверы. Если веб-сервер обрабатывает несколько доменов, вы можете получить многодоменный сертификат.
Вам нужно будет периодически обновлять сертификаты.
Если вы используете приложения для частного использования, вы можете настроить свой собственный центр сертификации с помощью такого инструмента, как tinyCA. Если вы импортируете сертификат центра сертификации в свой браузер в качестве доверенного центра сертификации, вам не будет выводиться сообщение о недействительных сертификатах. (Возможно, вам понадобится собственный ЦС для VPN, если вы его запустите.)