Почему CNAME не работает как положено?

330
Ritardi.Net

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

Теперь проблема в том example.com, что SSL не имеет 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это не даст никакой ошибки. Теперь я попытаюсь установить Давайте зашифруем и посмотрим, поможет ли наличие сертификата, но я думаю, что это все равно заставит это контрольное объявление снова дать похожий, если не тот же результат.

0
Ваше сообщение неясно относительно того, что вы пытаетесь сделать (DNS является публичной системой - предоставьте нам реальные данные, и мы сможем их изучить). Вы правы в том, что DNS и, следовательно, CNAME «перенаправляют» перед подключением, поэтому трафик не должен идти на ваш сервер. Возможно, у вас есть файл hosts или локальный DNS-сервер, принимающий имена хостов, которые мешают ожидаемому процессу DNS, или, возможно, неправильная или кэшированная настройка DNS. davidgo 6 лет назад 0

2 ответа на вопрос

1
cas

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

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

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

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

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

На моем веб-сайте нет кода, это простой WordPress-сайт, на котором представлены мои сервисы. Поддомен `s3`, который я использую, не существует на хосте, это всего лишь правило CNAME для перенаправления на Amazon, так как это позволяет мне использовать собственное доменное имя. Ritardi.Net 6 лет назад 0
0
kicken

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

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

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

на данный момент я настроен на использование http, но будет ли лучше перенаправление 301 для этой цели? Ritardi.Net 6 лет назад 0
Перенаправление 301 или 302 было бы лучше, хотя вам все равно понадобится сертификат для s3.example.com, если вы хотите использовать https для начального URL перед перенаправлением. Вам также понадобится настройка сервера для s3.example.com, которая выдаст соответствующее перенаправление. kicken 6 лет назад 0