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

HTTP не работает экземпляр EC2 с собственным доменным именем

У меня есть эта проблема, которую я уже писал на форуме 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, чтобы возвращались правильные внутренние и внешние адреса.

У меня была такая же проблема, и я нашел решение:

  1. Проверьте, можете ли вы получить доступ к http с localhost. curl http://localhost
  2. Проверьте Группы безопасности на AWS EC2, чтобы убедиться, что вы принимаете трафик через порт 80.
  3. Последняя, ​​но не менее важная проверка настройки брандмауэра в вашем экземпляре EC2.

Это может будь то вы используете один из сервисов Amazon, который требует, чтобы DNS-запись была CNAME, а не A.

Недавно я направил запросы об использовании нескольких представлений Amazon против геодинов, и клиенты сказали, что службы Amazon предусматривают использование CNAME, а не A.

Это связано с тем, что конечная точка может быть изменена, поэтому единственный безопасный способ сделать это - использовать запись CNAME, которая ссылается на запись Amazon A, которую Amazon может изменять на лету.

Им специально сказали, что поиск ip и использование его в A не сработает.

У меня была такая же проблема с контейнером докеров, который я просто установил внутри только что созданного EC2. Я мог получить к нему доступ через curl с localhost, но не через общедоступный DNS. Прочитав Игоря С. ' ответ Я проверил настройки брандмауэра и понял, что настройки FW по умолчанию принимают только SSH.

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