Я попытался установить Let's Encrypt на свой локальный сервер. Но я не мог, потому что он выдавал ошибки, что мне нужно полное доменное имя (FQDN). я использую server.arch.local
как мое имя хоста. Это не соответствует полному доменному имени? Теперь я начал задаваться вопросом, можно ли использовать сертификаты SSL на локальном веб-сайте. Если кто-нибудь сможет развеять мои сомнения или показать мне, где искать подробности об этом, я был бы очень рад.
Я бы разделил это на два отдельных вопроса ...
Да, сертификат SSL можно использовать на локальном веб-сайте. С технической точки зрения нет разницы, локально это или нет.
server.arch.local
соответствуют техническим требованиям для полного доменного имени, но при наличии общедоступного доверенного центра сертификации они не могут предоставить сертификат, который указывал бы на домен, который не является «общедоступным» в значении "." цепочка для системы DNS. Это связано с субъектом (CN), а также с SAN (альтернативное имя субъекта). Это ограничение касается не только Let's Encrypt, но, скажем, общих требований.
Вы можете купить любой (не стесняйтесь подбирать по цене) общественное достояние, и тогда вы можете получить общедоступный сертификат
В случае, если у вас будет только один сервер, вы можете легко создать собственный самозаверяющий сертификат, только пользователям нужно будет явно установить для него доверие. Вы можете поискать, как это сделать, или если вы хотите что-то протестировать, вы можете попробовать
openssl req -newkey rsa:2048 -x509 -subj "/CN=server.arch.local" -keyout /tmp/server-key.pem -out /tmp/server-cert.pem -days 3650 -nodes
Этот «простой» сертификат не имеет расширения SAN или x509, но поскольку он самоподписанный, он в любом случае будет явно установлен как доверенный вручную. Он будет принят сервером.
Если вы хотите иметь больше серверов, вы можете создать самозаверяющий ЦС, который будет установлен как доверительный для пользователей вручную, а затем вы можете сгенерировать сертификат для каждого сервера, который вы будете использовать. Для этой опции вы должны сделать это правильно на уровне расширений x509, чтобы ему доверяли в цепочке CA. Это не так сложно, но для этого нет примера "одной строки" ;-).
SSL-сертификаты можно использовать на локально размещенных веб-сайтах (я предполагаю, что это означает размещение на ваших собственных машинах), на самом деле нет никакой разницы с веб-сайтами, размещенными в другом месте.
Однако вы не можете получить сертификат Let's Encrypt для домена, который вам не принадлежит. Поскольку вы не владеете server.arch.local
вы можете использовать вместо этого самоподписанные сертификаты с вашим собственным локальным центром сертификации.