
Моя веб-страница размещена на AWS и была преобразована в SSL.
Я вижу страницу с моего компьютера и смартфона в домашней сети и зоне Wi-Fi. Но извне (например, при доступе к веб-сайту со смартфона снаружи) страница недоступна.
Поэтому я проверил группу безопасности и номер порта.
Правила входящего трафика приведены ниже.
Согласно руководству, на которое я ссылался, все в порядке, но если что-то не так, пожалуйста, дайте мне знать.
Вот результат команды telnet на порту 443
Извините, написано на японском. Пишет, что не удалось подключиться к хосту. Порт № 443: Не удалось подключиться.
Означает ли это, что порт 443 закрыт?
Я попробовал iptables -L -v -n ниже
Результат curl на AWS IP: curl -k -vv https://
Кажется, это не работает.
Результат tcpdump -nni любой порт 443
Деталь балансировщика нагрузки
Можете ли вы разобраться в информации выше? Если вам нужна другая информация, пожалуйста, дайте мне знать.
Целевая группа
Я вижу что-то нездоровое выше.
Целевая группа не настроена на получение трафика от балансировщика нагрузки
И, возможно, есть другие моменты, которые мне нужно проверить. Если вам нужно увидеть другие моменты, пожалуйста, дайте мне знать, я обновлю информацию.
Спасибо.
решение1
Попробуйте выполнить curl для IP-адреса AWS:
curl -k -vv https://<your aws ip>
.Если это сработает, попробуйте то же самое с использованием имени хоста. Если в этот раз это не сработает, то проблема в DNS.
Проверьте, есть ли внутри виртуальной машины какой-либо брандмауэр. Например:
iptables -L -v -n
. У вас могут быть некоторые правила брандмауэра, которые не позволяют большинству IP-адресов получить доступ к вашему веб-серверу.Проверьте, есть ли ACL на самом веб-сервере. Веб-серверы можно настроить так, чтобы они игнорировали запросы, поступающие с определенных IP-адресов. Если вы используете Apache, проверьте строки
Require
в вашей конфигурации.
Как правило, вы можете запустить tcpdump -nni any port 443
на сервере (возможно, вам придется установить tcpdump) и повторить тест. Tcpdump в основном собирает и отображает фактические задействованные пакеты, поэтому если вы попробуете и некоторые пакеты достигнут сервера на порту 443, это означает, что ничто за пределами виртуальной машины не заблокировало его, и проблема, вероятно, связана с сервером. Если же вы не видите никаких пакетов, это означает, что что-то еще блокирует вам доступ к веб-серверу.
РЕДАКТИРОВАТЬ
Если у вас есть балансировщик нагрузки, убедитесь, что он правильно указывает на порт 443 бэкэнд-сервера(ов). В противном случае трафик, достигающий балансировщика нагрузки, может быть перенаправлен на другой порт (80?), где HTTPS не поддерживается, что может «разорвать» ваше соединение.