Если это имеет значение, это в AWS China.Невозможно подключиться к экземпляру EC2 через HTTP извне AWS
У меня есть новый экземпляр EC2. Я создал его пару дней назад. Он должен быть сервером приложений для приложения rails. Apache работает и работает (работает curl localhost). Когда я пытаюсь использовать другой экземпляр EC2, он также отвечает ОК (используя внутренний IP-адрес EC2).
Однако, если я использую внешний IP-адрес, он не работает. Это время.
Вещи, которые я проверил:
- Apache работает, и он слушает на eth0, а также локального хоста.
- В экземпляре нет брандмауэра (по умолчанию образ Amazon Linux, iptables -L возвращает все политики ACCEPT, никаких других правил).
- Группа безопасности верна. Он имеет правила для входящего порта 80, а порт 443 - для всего мира.
- Группа безопасности, которую я изменяю, действительно применяется к экземпляру с проблемами. Я попытался удалить SSH-доступ из этой группы безопасности, и мое ssh-соединение на сервере умерло. Добавлен доступ снова, и я смог войти в ssh. Таким образом, группа безопасности работает и применяет правила.
- Я даже попытался настроить балансировку нагрузки перед экземпляром. Балансировщик нагрузки также не может достичь экземпляра.
- Да, я использую правильный IP-адрес. Я проверил его снова и снова.
- Я попытался использовать общедоступное имя хоста, он по-прежнему не работает (зачем это нужно?), Но он подтверждает, что у меня есть правильный IP-адрес, потому что он работает изнутри экземпляра (поскольку внутри AWS он указывает на внутренний IP-адрес адрес).
Я полностью в тупике. Возможно, это действительно глупая ошибка с моей стороны, но я уже пробовал все, что мог придумать. Я googled и попробовал все, что говорили другие люди, работавшие на них. У меня был сотрудник, и он не мог заставить его работать.
Итак, любые идеи? Что мне не хватает?
Спасибо!
Редактировать: коллега предложил что-то, что имело общий смысл: что, если я слушаю в другом порту? Так ли это работает? Оказывается, это так. Настроенный Apache для прослушивания в порту 9876, открыл его в группе безопасности, и, конечно же, он работает. Так что это только порт 80, который фильтруется. Следующим шагом был создание балансира нагрузки, который прослушивает порт 80 и пересылает в порт 9876 экземпляр. И, конечно, это не сработает. LB подключается к экземпляру, говорит, что он подключен к сети, но я не могу добраться до LB в порту 80. Поэтому кажется, что я ничего не могу достичь в AWS China на порту 80, и я все еще полностью заблокирован здесь.
откуда вы пытаетесь использовать внешний IP? – pherris
Из моего собственного дома, в основном, и из моего офиса. Из обоих мест я могу использовать SSH, но я получаю HTTP-тайм-аут. Кроме того, если я использую внешний IP-адрес из самого экземпляра, он также отключается. То же самое из другого экземпляра AWS China EC2, тайм-аут при использовании внешнего IP, работает при использовании внутреннего. – Nacho
Похоже, вы все это рассмотрели, но хотели передать вам этот другой вопрос/ответы SO в случае: http://stackoverflow.com/questions/10253484/cant-access-site-on-ec2-instance-via -public-ip – pherris