У меня есть статический сайт (mysite.com
), размещенный через Netlify. Netlify в настоящее время управляет моим DNS, так что у меня есть такие серверы имен:
dns1.p07.nsone.net
dns2.p07.nsone.net
dns3.p07.nsone.net
dns4.p07.nsone.net
У меня на S3 есть ведро с именем dl.mysite.com
. Я хочу, чтобы когда кто-то щелкал ссылку, например http://dl.mysite.com/file.pdf
, он брал ее из корзины S3.
В моей панели управления для Netlify я могу создать собственный субдомен (dl.mysite.com
), и он дает мне указание сделать следующее:
Укажите запись CNAME
dl
, чтобыobfuscated-url-d6f26e.netlify.com
войти в систему в учетную запись вашего поставщика DNS и добавьте запись CNAME дляdl
, указывающего наobfuscated-url-d6f26e.netlify.com
.
Раньше, когда я использовал AWS исключительно для размещения приложения и управления DNS, это было легко сделать, просто создав запись псевдонима в Route53 для поддомена и указав ее на мою корзину.
Как я могу сделать это сейчас, когда Route53 не обрабатывает мой DNS? Можно ли по-прежнему указать этот субдомен на конкретную корзину S3?
2 ответа
Отказ от ответственности: я работаю на Netlify.
Netlify предназначен для размещения веб-контента, а не полностью прокси-сервера для сегментов S3. Использование его так, как вы описываете, может работать, но противоречит нашим условиям обслуживания, в которых прямо говорится, что мы намерены размещать веб-сайты. с html-контентом, который могут просматривать люди, а не компьютеры. Если это буквально все, что вы хотите сделать - обслуживать контент из этого ведра S3, то я бы вообще не стал беспокоиться о промежуточном этапе использования Netlify. Это еще одна точка отказа, которая не дает вам много денег, чтобы поставить нас между вашими посетителями и S3. Еще один разумный способ сделать это - предложенный выше @thomas.
Однако, если вы хотите использовать DNS-хостинг Netlify для своего домена, поскольку мы размещаем для вас другие сайты, вы все равно можете использовать наш DNS для настройки имени хоста, которое указывает непосредственно на S3 - здесь нет нарушения условий обслуживания, поскольку мы не ограничивайте использование нашей службы DNS. Многие клиенты заказывают у нас хостинг DNS для доменов, где есть один веб-сайт на netlify и еще десяток где-то еще. Чтобы настроить это, я бы вместо этого установил эту запись как CNAME для имени хоста S3 и обработал любой сертификат SSL на стороне AWS. Это сработает, и если это не так, наша служба технической поддержки будет рада вам помочь.
В третьей ситуации, если вы хотите обслуживать некоторое содержимое на этом имени хоста из S3 (например, PDF-файлы), а затем какое-то другое содержимое (например, html-файлы вашего веб-сайта, которые ссылаются на PDF-файлы), это нормально! Мы будем рады прокси для вашего контента S3. Например, вы можете настроить (обратный) прокси для /files/*
на S3 следующим образом в файле /_redirects
:
/files/* http://aws-bucket-hostname/:splat 200!
Это говорит: «загрузить все файлы из Netlify EXCEPT / files / *, которые вместо этого должны поступать из S3 с путем, совпадающим с частью после / files / в URL-адресе». В этом случае мы БУДЕМ обрабатывать SSL-сертификат за вас, так как мы завершаем соединение с браузером вместо S3.
Больше документов по этой функциональности здесь:
https://www.netlify.com/docs/redirects/
Чтобы использовать статический хостинг на S3 (что позволяет вашей корзине быть доменным именем), вы можете использовать псевдоним только на Route 53.
Однако вы можете использовать CloudFront для обслуживания файлов, используя любое доменное имя по вашему выбору.
Я бы сказал, что у вас есть следующие варианты:
- Вернитесь к использованию Route 53
- Используйте CloudFront перед своей корзиной S3
- Просто используйте ссылку на ведро S3
(Учитывая, сколько браузеров скрывают адрес и что людям все равно, я бы выбрал вариант 3 лично .)
Похожие вопросы
Новые вопросы
amazon-web-services
Amazon Web Services (AWS) - это общедоступное облако: IaaS (инфраструктура как услуга) и SaaS (программное обеспечение как услуга), предоставляемые Amazon. Вопросы по программированию и архитектуре находятся по теме. Общую справку по серверу можно получить по адресу https://serverfault.com. Тег AWS редко используется отдельно и обычно используется вместе с другими тегами, чтобы более четко определить тему вопроса.