Как указать домен для обслуживания статического сайта из Amazon S3? (не субдомен) - PullRequest
1 голос
/ 17 ноября 2011

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

Пример: Настройка foobar.com и www.foobar.com, чтобы они указывали на мой сайт, размещенный на Amazon S3

Мне лично не нужен префикс www.Нет ли способа сделать это?Мне кажется сумасшедшим, что Amazon настроил бы его на разрешение статических сайтов и пользовательских доменов, а затем заблокировал его для доменов с префиксами?

Заранее спасибо,

Ответы [ 3 ]

13 голосов
/ 27 ноября 2011

По историческим причинам любой URL-адрес необходимо разрешить в поддомен, который вы уже знаете, как обрабатывать: Создайте запись CNAME с вашим поставщиком DNS, указав www на ваш поддомен, размещенный на S3.Есть подробности, которые нужно правильно описать в другом месте.

Тем не менее, вы хотите поддержать пользователей, которые, очарованные тем, что их браузеры будут автоматически заполнять http:// и .com, и тому подобное, захотят ввести пустой домен domain.comи автоматически заполняет его до субдомена по умолчанию, такого как www.domain.com.

. Самый простой способ сделать это - использовать www в качестве субдомена по умолчанию и указать запись A вашего провайдера DNS на wwwizer.com(174.129.25.170).Они автоматически перенаправляют любой открытый домен в тот же домен с www впереди.

Вы получаете самый быстрый поворот в разработке, и ваши посетители получают самое быстрое разрешение DNS, если вы используете Amazon Route 53 для предоставления своих DNS-услуг.Маршрут 53 может указывать свои записи A на wwwizer.com.Однако вы можете создать экземпляр микро-Amazon EC2 и начать его программирование.В 50-х все перестраивали свои машины.В 80-х все толкали тележку с покупками по проходу у Фрая и строили собственный компьютер.Теперь вы хотите иметь возможность создавать свой собственный компьютер в облаке, по многим причинам, которые вы обнаружите со временем, и Amazon EC2 - лучший выбор.На данный момент ваш облачный компьютер будет просто обрабатывать голые домены для вас.Позже, по электронной почте, генерируя статический сайт, ...

Установите веб-сервер Apache (A в LAMP; сервер LAMP сделает свое дело) и настройте виртуальный хост для каждого из ваших доменов.Затем укажите эластичный IP-адрес на вашем экземпляре EC2 и обновите маршрут 53, чтобы указать точку записи A на этот эластичный IP-адрес.Amazon не поддерживает наличие нескольких эластичных IP-адресов, указывающих на один и тот же экземпляр EC2, но вы можете предоставить один и тот же эластичный IP-адрес нескольким записям домена А, и Apache разрешит это в вашем экземпляре EC2.

Это займет некоторое время.и экспериментируя, так как есть много противоречивых советов по деталям.Я использовал образ экземпляра ami-ad36fbc4 (Восток США, 64-битная Ubuntu 10.04 LTS с EBS-поддержкой), так как я знаком с Ubuntu, есть много интерактивной справки по Ubuntu, и этот образ будет поддерживаться годами.Я отредактировал /etc/apache2/httpd.conf, чтобы получить содержимое

NameVirtualHost *

<VirtualHost *>
ServerName first.net
Redirect permanent / http://www.first.net/
</VirtualHost>

<VirtualHost *>
ServerName second.net
Redirect permanent / http://www.second.net/
</VirtualHost>

, затем проверил на ошибки, используя

sudo /usr/sbin/apache2ctl configtest

, затем перезапустил сервер Apache, используя

sudo /etc/init.d/apache2 restart

Apache является стандартнымв разных версиях Linux, но детали, такие как расположение файлов, могут отличаться, например, /etc/apache2/httpd.conf может быть /etc/httpd.conf.Например, может потребоваться ввести Listen 80 в httpd.conf, но Apache выдает ошибку, если эта команда уже была где-то еще.Так что читайте веб-инструкции с небольшим количеством соли и будьте готовы к поиску в Google любых сообщений об ошибках.

Поскольку я уже несколько дней использовал Amazon Route 53, чтобы указать wwwizer.com, это сразу же сработало, как только я обновилМаршрут 53 указывает на мой эластичный IP.Перед переключением на Маршрут 53 для проверки каждого изменения потребовались дни, поскольку информация распространялась по сети.Как только все узнают, что нужно смотреть на Amazon, Amazon сможет распространять свои внутренние изменения гораздо быстрее.

4 голосов
/ 17 ноября 2011

К сожалению, вы не можете указать foobar.com на корзину Amazon S3, и причина этого связана с тем, как работает DNS.

DNS не позволяет корневому каталогу домена (называемого верхушкой зоны) указывать на другое имя DNS (нельзя настроить foobar.com в качестве CNAME / только subdomain.foobar.com может быть CNAME)

1 голос
/ 05 февраля 2014

С тех пор, как этот вопрос был задан, все изменилось. Теперь возможно разместить ваш сайт на S3 с корневым доменом.

Вместо того, чтобы иметь только одну группу с именем "www.yourserver.com", вам нужно создать другую группу с именем обнаженного (корневого) домена, например, "Yourserver.com".

После этого вам нужно будет использовать сервис DNS Amazon Route 53. Создайте запись A для обнаженного домена и CNAME для имени хоста "www".

Обратите внимание, что вам необходимо полностью переместить управление доменом вашего домена в Amazon Route 53.

Подробную информацию см. Здесь: http://docs.aws.amazon.com/AmazonS3/latest/dev/website-hosting-custom-domain-walkthrough.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...