Я хотел бы, чтобы поддомены моего общедоступного 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.