Какой сертификат использовать на вашем сервере?
Любой, кто подключается к вашему серверу, видит его сертификат, поэтому один проверочный запрос может выдать сервер. По возможности используйте доверенный сертификат. Если такой возможности нет, честный самоподписанный сертификат все равно может оказаться лучше фальшивого.
Что каждый сертификат сообщает сети
-
Доверенный
Действительный сертификат для вашего домена, подписанный центром сертификации.
Похоже на обычный сайт или сервис.
-
Самоподписанный
Сертификат со случайным именем, не подписанный ни одним центром сертификации, как на только что установленном сервере.
Похоже на частный сервер, например роутер или тестовую машину.
-
Недействительный
Самоподписанный сертификат с именем настоящего сайта на адресе, который этот сайт не использует.
Похоже на сервер, который выдает себя за то, чем не является.
Почему самоподписанный может оказаться лучше недействительного
Браузер отклоняет оба сертификата. Разница в том, что утверждает каждый из них.
Случайное имя ничего не утверждает, поэтому и опровергать нечего. Такие же сертификаты каждый день показывают роутеры, тестовые машины и внутренние инструменты, и сеть, которая блокирует все подобные сертификаты, отрезает заодно и их.
Имя настоящего сайта — это утверждение, которое может проверить кто угодно: у этого сайта есть сертификат от центра сертификации и собственные адреса, а у вашего сервера нет ни того ни другого. Ни один обычный сервер так не делает, поэтому, блокируя такой сервер, сеть ничего не теряет.
И все же имя настоящего сайта может помочь в сети, которая судит только по имени: там оно может пройти, а случайное имя — нет. Чтобы попробовать, добавьте сертификат с таким именем на управляемом сервере или на автономном сервере.
Нет смысла приукрашивать самоподписанный сертификат. Организация, срок действия и расширения в нем ничего не меняют, так как проверочный запрос сразу видит, что его не подписал ни один центр сертификации.
По возможности заведите домен
Настоящая защита от проверочных запросов — доверенный сертификат, и стоит он немного: домен недорог, а сертификаты Let's Encrypt бесплатны.
Используйте хост домена, например api.example.com. Многие сайты держат API или файлы на отдельном хосте, который, как и ваш сервер, отказывает посторонним, поэтому такой хост выглядит обычным. Адрес www.example.com остается свободным для любого сайта по вашему выбору, на любом хостинге.
Однако домен не поможет вашим пользователям обойти блокировку адреса, так как он ведет на тот же сервер. Это под силу только обратному прокси.