![Сертификаты управляются поставщиками доменных имен или находятся на сервере?](https://rvso.com/image/1540069/%D0%A1%D0%B5%D1%80%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D1%8B%20%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%8F%D1%8E%D1%82%D1%81%D1%8F%20%D0%BF%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D1%89%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8%20%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D1%85%20%D0%B8%D0%BC%D0%B5%D0%BD%20%D0%B8%D0%BB%D0%B8%20%D0%BD%D0%B0%D1%85%D0%BE%D0%B4%D1%8F%D1%82%D1%81%D1%8F%20%D0%BD%D0%B0%20%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5%3F.png)
Я настраиваю свой личный VPS с Nginx и читал о том, как защитить сервис. Но мне было немного непонятно одно о сертификатах и управлении HTTPS:
Если я куплю доменное имя (www.example.com) у стороннего провайдера, а затем настрою домен так, чтобы он указывал на IP-адрес моего VPS, предоставленного сторонней организацией, кто будет управлять сертификатами?
Должен ли я выполнять всю обработку (сертификаты, конфигурация TLS, прослушивание https и т. д.) на VPS и конфигурации Nginx, или всем этим управляет провайдер доменных имен? Или некоторые вещи обрабатываются провайдером доменных имен, а некоторые - на моей конфигурации Nginx?
решение1
Вы выполните обработку, о которой спрашиваете.
Вот краткий обзор полной картины.
Вы предоставляете центру сертификации (которого вы называете DNS-провайдером) любые его требования. Это может включать оплату и идентификацию.
Они предоставляют вам сертификат, в котором указано, что они являются органом, выдавшим сертификат.
Затем вы настраиваете веб-сервер на использование этого сертификата.
Когда кто-то посещает вашу страницу с HTTPS, «S» в «HTTPS» означает «Secure». В предыдущие годы можно было с уверенностью считать, что S означает SSL, поскольку HTTPS был реализован с использованием HTTP поверх SSL. В настоящее время TLS — это современная реализация, которая обычно используется вместо старых версий SSL.
Когда веб-клиент (чаще всего называемый «веб-браузером») использует TLS (или SSL), он получает сертификат от веб-сервера. (Это будет автоматически сгенерированный сертификат, в чем-то отличающийся от сертификата, который вы получили от вашего центра сертификации.) Затем веб-клиент проверяет, является ли сертификат доверенным. Сертификат, который получает веб-браузер, будет содержать следы вашего сертификата и центра сертификации. Веб-браузер может сказать, что сертификат был создан с благословения этого центра сертификации.
Веб-клиент смотрит на свое собственное «хранилище сертификатов», которое обычно просто поставляется с веб-браузером и/или операционной системой. Поскольку ваш коммерчески приобретенный сертификат, по-видимому, указывает на признанный и пользующийся широким доверием центр сертификации, веб-клиент считает веб-сервер доверенным.
Убедитесь, что, когда вы получите этот сертификат, за который вы заплатили, вы не передадите его кому-либо еще. (Обычно я бы сказал не делиться им ни с кем, кроме тех, кому вы должны доверять, например, с компанией, управляющей веб-сервером, который вы используете. Но поскольку вы управляете своим собственным веб-сервером, это исключение может не применяться. Хотя, если ваш «виртуальный частный сервер» («VPS») не зашифрован, предположительно, ваш хост VPS может получить доступ к данным.) Если кто-то ненадежный получит копию этого сертификата, то им можно будет доверять, и это будете вы. Другими словами, такой вор может эффективно украсть вашу личность. Так что не публикуйте публично этот сертификат, за который вы заплатили.
Одна из вещей, которую вы можете сделать с вашим поставщиком DNS, — это настроить записи ресурсов DNS. Во многих случаях вы настраиваете записи AAAA и/или A с ними. Лично я, как правило, просто настраиваю записи NS с поставщиком DNS и размещаю записи AAAA и/или A сам. Ваш поставщик DNS не обязательно должен быть той же организацией, что и тот, кто предоставляет ваши сертификаты. (Если вы используете «Let's Encrypt» в качестве вашего центра сертификации, я бы ожидал, что это будут разные организации.)
решение2
Если я куплю доменное имя (www.example.com) у стороннего провайдера, а затем настрою домен так, чтобы он указывал на IP-адрес моего VPS, предоставленного сторонней организацией, кто будет управлять сертификатами?
Тот, кто управляет VPS, будет администрировать это. Регистраторы доменов (поставщики доменных имен) технически имеют дело только с записями IP-адресов и доменных имен, связанными с вашим VPS.
Должен ли я выполнять всю обработку (сертификаты, конфигурация TLS, прослушивание https и т. д.) на VPS и конфигурации Nginx, или всем этим управляет провайдер доменных имен? Или некоторые вещи обрабатываются провайдером доменных имен, а некоторые - на моей конфигурации Nginx?
Сертификаты, TLS, https и т. д. — все это вы настраиваете на сервере с помощью Nginx и т. д. Поставщики доменных имен не играют никакой роли в этом аспекте.