У меня есть эта проблема, которую я уже писал на форуме Amazon AWS. К сожалению, у меня нет четкого ответа. Я и я надеялся, что вы, ребята, сможете помочь. Вот ссылка: http://developer.amazonwebservices.com/connect/thread.jspa?messageID=198238#198207
В основном я не знаю, почему после привязки эластичного IP-адреса и сопоставления его с одним из моих доменов FTP и ping работают нормально, но HTTP выполняет 302-перенаправление на имя хоста Amazon AWS, которое у меня было до привязки эластичного IP-адреса.
Вот вопрос с форума AWS: у меня есть экземпляр EC2 с установленными HTTP и FTP. Оба работали. Затем я связал с этим экземпляром эластичный IP-адрес. Затем я сопоставил этот IP-адрес с именем, которое является поддоменом моего домена. Я думаю, что это имя А (лично я не делал сопоставление). Теперь FTP работает, а HTTP - нет.
Имя хоста AWS перед ассоциацией Elastic IP: ec2-184-73-27-8.compute-1.amazonaws.com IP-адрес AWS и имя хоста после ассоциации: 174.129.7.254 и ec2-174-129-7- 254.compute-1.amazonaws.com Домен, который сопоставлен с 174.129.7.254 с помощью записи A: demo.flashxml.net
FTP работает, значит, я могу подключиться к 174.129.7.254, ec2-174-129-7-254.compute-1.amazonaws.com и demo.flashxml.net.
HTTP не работает, означает, что HTTP-запрос к 174.129.7.254, ec2-174-129-7-254.compute-1.amazonaws.com или demo.flashxml.net возвращает 302 редирект на ec2-184-73-27 -8.compute-1.amazonaws.com
Вот мой файл VirtualHost:
<VirtualHost *:80>
DocumentRoot /home/ec2-user/public_html/wordpress
ServerName demo.flashxml.net
ErrorLog logs/ec2-user-error_log
<Directory /home/ec2-user/public_html/wordpress>
AllowOverride FileInfo
Order Deny,Allow
Allow from All
</Directory>
</VirtualHost>
Я наконец понял, в чем дело. Дело в том, что я установил Wordpress на сервер, используя имя хоста, предоставленное Amazon. После связывания эластичного IP-адреса и обновления записей DNS сервер был доступен - работа FTP была тому доказательством. Редирект 302 при доступе через HTTP был вызван настройками имени хоста Wordpress.
Итак, из всего этого я понял, что сначала я должен настроить свой IP и DNS, и только после этого установить Wordpress или любое другое веб-приложение (я).
Во-первых, двойная публикация - это не очень хороший этикет, и заставить людей уйти с сайта, чтобы найти ваш вопрос, только усугубит ситуацию. Пожалуйста, подумайте о том, чтобы отредактировать свой вопрос, чтобы он фактически содержался здесь, а затем УБЕДИТЕСЬ, что вы обновляете оба сайта, добавляя любые изменения и ответ, как только вы это выясните.
Во-вторых, здесь действительно недостаточно информации, чтобы понять, что вы сделали не так. Предложение на форуме AWS - хорошее. Кажется, вы все еще что-то делаете с записями IP и хоста до того, как был назначен ваш эластичный IP. Когда вы сделаете это назначение, ваше имя хоста и IP-адрес изменятся! Однако вам необходимо разработать свою конфигурацию. Как выглядит ваш DNS? К какому домену вы пытаетесь подключиться и на что он «перенаправляется»? Мы говорим о доменах имени хоста ec2 или о вашем собственном домене? В первом случае вы просто используете неправильный адрес. В последнем случае ваши записи DNS не введены должным образом. Они должны быть CNAME для вашего эластичного имени хоста IP, чтобы возвращались правильные внутренние и внешние адреса.
У меня была такая же проблема, и я нашел решение:
curl http://localhost
Это может будь то вы используете один из сервисов Amazon, который требует, чтобы DNS-запись была CNAME, а не A.
Недавно я направил запросы об использовании нескольких представлений Amazon против геодинов, и клиенты сказали, что службы Amazon предусматривают использование CNAME, а не A.
Это связано с тем, что конечная точка может быть изменена, поэтому единственный безопасный способ сделать это - использовать запись CNAME, которая ссылается на запись Amazon A, которую Amazon может изменять на лету.
Им специально сказали, что поиск ip и использование его в A не сработает.
У меня была такая же проблема с контейнером докеров, который я просто установил внутри только что созданного EC2. Я мог получить к нему доступ через curl с localhost, но не через общедоступный DNS. Прочитав Игоря С. ' ответ Я проверил настройки брандмауэра и понял, что настройки FW по умолчанию принимают только SSH.
Я думаю, это происходит, когда вы используете быструю настройку вместо обычного мастера настройки, который спросит вас обо всех вещах (включая настройки FW) перед запуском экземпляра.