Почему CNAME не работает так, как предполагалось?

Почему CNAME не работает так, как предполагалось?

Я установил запись CNAME для перенаправления через контейнер Amazon S3, однако что-то работает не так, как предполагалось (разумеется, мной). CNAME предполагает перенаправление на вымышленный поддомен, например, s3.example.comна контейнер Amazon S3 с тем же именем.

Теперь проблема в том, что example.comу него нет SSL, а у Amazon bucket есть. Я предполагал, что с правилом CNAME он должен перенаправлять трафикдочтобы когда-либо добраться до моего веб-сервера и проверить наличие сертификата, обратите внимание, что для этой цели DNS настроен на моего провайдера домена, а не моего провайдера хостинга.

Почему он вообще проверяет SSL, когда есть правило CNAME и оно работает? Если, например, я уберу sиз URL, он откроет соответствующий файл в контейнере без предупреждения о сертификате.

редактировать: возвращаемая ошибка отличается, я попробую перевести и адаптировать ее:

s3.mydomain.com is using a not valid certificate. the certificate is 
only valid for the following names: *.s3.eu-central-1.amazonaws.com, 
*.s3-eu-central-1.amazonaws.com, s3-eu-central-1.amazonaws.com, s3.eu-
central-1.amazonaws.com, s3.dualstack.eu-central-1.amazonaws.com, 
*.s3.dualstack.eu-central-1.amazonaws.com, *.s3.amazonaws.com 

затем кажется, что он читает правило CNAME и ищет правильный домен (amazon s3), затем он сопоставляет это с моим доменом и видит, что это другое имя, затем он останавливается перед перенаправлением. По этой причине, если я удалю, он sне выдаст ошибку. Теперь я бы попробовал установить let's encrypt и посмотреть, поможет ли наличие сертификата, но я предполагаю, что это все равно заставит это объявление проверки снова дать похожий, если не тот же результат.

решение1

CNAME в вашей зоне DNS работает так, как вы ожидаете, но браузеры проверяют, что сертификат, представленный удаленным веб-сайтом, действителен для посещаемого домена.

Сервер Amazon S3, на котором хранятся ваши данные, не имеет или не предоставляет действительный сертификат для s3.mydomain.com, поэтому все посетители увидят предупреждение о сертификате.

Это совершенно нормально и именно так должны работать SSL-сертификаты — в противном случае любой сайт мог бы выдавать себя за любой другой сайт с шифрованием SSL. Сертификаты используются для аутентификации, а также просто для шифрования, при этом проверка личности выполняется центром сертификации (CA) при покупке сертификата. Если вы не тот, за кого себя выдаете при покупке сертификата, центр сертификации должен отказать вам в его создании или выдаче — если они не пройдут этот этап проверки, они будут удалены из списка доверенных центров сертификации по умолчанию, распространяемого с веб-браузерами, такими как Firefox, Chromium, IE, Edge и т. д.

"Обычный" способ сделать то, что вы хотите, запустить свой собственный https-сервер для вашего домена С сертификатом, подписанным центром сертификации, который известен и которому доверяет браузер. Для веб-приложений частного/интранет-типа вы можете запустить свой собственный CA и распространить сертификат CA среди своих пользователей. Для публичных веб-сайтов лучше/проще всего просто купить сертификат у одного из известных CA.

Код приложения на вашем сервере должен затем извлечь необходимые данные из Amazon и вернуть их пользователю, которому никогда не нужно знать или беспокоиться об участии Amazon.

решение2

CNAME — это не перенаправление, это псевдоним. Он сообщает DNS-резолверу, что ваш адрес s3.example.com должен использовать ту же информацию DNS, что и домен s3 amazon.

Все это происходит на уровне DNS, а не на уровне браузера. Что касается браузера, он все еще подключается к s3.example.com, поэтому, когда он пытается проверить сертификат SSL, он ожидает найти сертификат, который соответствует этому домену.

Я не знаком с сервисами Amazon, но вам понадобится способ, чтобы они предоставили действительный сертификат для использования вашего пользовательского домена с HTTPS. Если это невозможно, вам придется либо придерживаться простого HTTP, либо прекратить использование вашего пользовательского домена.

Связанный контент