Назад | Перейти на главную страницу

Использование Route 53 с общедоступным DNS EC2 и виртуальными хостами

Я хотел бы, чтобы поддомены моего общедоступного URL-адреса экземпляра EC2 указывали на разные деревья документов на моем компьютере, поэтому foo.ec2-012-345-678-901.eu-west-1.compute.amazonaws.com имеет отдельный DocumentRoot к bar.ec2-012-345-678-901.eu-west-1.compute.amazonaws.com

У моего экземпляра AWS EC2 эластичный IP-адрес и стандартный общедоступный URL-адрес Amazon:

http://ec2-012-345-678-901.eu-west-1.compute.amazonaws.com

Я могу посетить этот URL и увидеть свою тестовую страницу Hello World.

Я установил два VirtualHosts.

<VirtualHost *:80>
  DocumentRoot /var/www/foo/public
  ServerName foo.ec2-012-345-678-901.eu-west-1.compute.amazonaws.com
  ServerAlias ec2-012-345-678-901.eu-west-1.compute.amazonaws.com
</VirtualHost>
<VirtualHost *:80>
  DocumentRoot /var/www/bar/public
  ServerName bar.ec2-012-345-678-901.eu-west-1.compute.amazonaws.com
</VirtualHost>

В AWS Route 53 я создал зону хостинга с доменным именем ec2-012-345-678-901.eu-west-1.compute.amazonaws.com

В наборы записей я добавил две записи CNAME:

1)

2)

Мой браузер не может найти ни один из URL-адресов, определенных в виртуальных хостах. Я использую OpenDNS, но могу подключиться по SSH к нескольким другим машинам, попробовать curl и wget и всегда получать сообщение об ошибке «Имя или служба не известны» или «Не удалось разрешить хост».

Сегодня я немного поигрался с этими настройками, но насколько я помню, это именно то, как я настроил их 24 часа назад.

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

Примечание: я использую RHEL с включенным SELinux. Я не думаю, что это актуально, но это уже стало причиной нескольких проблем.

Привет,

Вам нужно установить Apache ServerName для виртуального хоста на фактическое имя хоста, которое вы хотите обслуживать, например foo.example.com, а НЕ внутреннее имя хоста EC2 (хотя вы можете использовать ServerAlias для этого, если вы хотите, чтобы он был доступен).

К сожалению, вы не можете использовать свое имя хоста EC2 в качестве домена в Route 53; вы должны использовать собственное доменное имя.

Я хотел бы, чтобы поддомены моего общедоступного URL-адреса экземпляра EC2 указывали на разные деревья документов на моем компьютере, поэтому foo.ec2-012-345-678-901.eu-west-1.compute.amazonaws.com имеет отдельный DocumentRoot для блокировки .ec2-012-345-678-901.eu-west-1.compute.amazonaws.com

Я только что проверил несколько своих экземпляров, и Amazon делает не подстановочный знак для общедоступного URL-адреса экземпляров.

ec2-012-345-678-901.eu-west-1.compute.amazonaws.com будет работать, но * .ec2-012-345-678-901.eu-west-1.compute.amazonaws.com не будет .

В AWS Route 53 я создал зону хостинга с доменным именем ec2-012-345-678-901.eu-west-1.compute.amazonaws.com

Это тоже не сработает. Вы можете настроить все записи, которые вам нравятся, но их никто не увидит, так как Amazon не делегирует поддомен вашей зоне Route53.