У меня есть микроэкземпляр Amazon EC2 с сервером Windows 2008 и развернуто одно примерное веб-приложение, которое использует Java и развернуто на сервере Tomcat 7. Я могу получить к нему доступ локально на экземпляре, но когда я попытался получить доступ к нему за пределами экземпляра AWS, скажем, с моего домашнего компьютера, используя общедоступный DNS / публичный IP-адрес AWS / эластичный IP-адрес экземпляра, он дает мне «Веб-страница нет в наличии".
Я прошел через очень много подобных вопросов на этом форуме, и я думаю, что выполнил все настройки, о которых они просят, но все еще безуспешно.
Вот что я сделал / подтвердил.
1. localhost работает, поэтому приложение прослушивает порт 80.
2. добавлено правило для HTTP-входа на порт 80 для всех в группе безопасности, которую использует мой экземпляр.
3. проверил настройки брандмауэра на экземпляре Windows, убедившись, что порт 80 не заблокирован.
4. Пробовал даже с выключенным брандмауэром, но безуспешно.
Буду очень признателен, если кто-нибудь поможет мне в этом.
Спасибо нс
источник
Ответы:
У меня была похожая неприятная проблема, когда я установил JetBrains YouTrack на экземпляр Windows Server 2012 ec2. Что мне помогло, так это открытие портов брандмауэра Windows, которые ява специально использовала, и отключение порта службы World Wide Publishing. Мне также пришлось запустить сервис YouTrack под учетной записью LocalSystem вместо учетной записи по умолчанию.
Попробуй это:
Отключите веб-сайт по умолчанию в IIS, если он используется
Запустите команду netstat -a -b, чтобы определить порты, к которым пытался привязаться java.exe, например:
TCP 0.0.0.0:80 WIN-9NFIG6IEPT6: 0 СЛУШАТЬ [java.exe]
TCP 127.0.0.1:49306 WIN-9NFIG6IEPT6: 49307 УСТАНОВЛЕНО [java.exe]
Откройте диспетчер управления службами, щелкните правой кнопкой мыши службу и откройте диалоговое окно свойств. На вкладке «Вход в систему как» выберите « Учетная запись локальной системы» в качестве учетной записи, под которой работает служба. Важно, чтобы этот пользователь был администратором
Создайте новое правило для Tomcat с TCP-портом 80 и любым другим портом, который может понадобиться.
Сохраните правило и проверьте свой URL-адрес извне сервера.
источник
Вы не должны полностью отключать настройку брандмауэра. Это может поставить под угрозу безопасность вашего приложения. Вместо этого измените правила входящего брандмауэра Windows Server, чтобы разрешить входящий трафик через определенные порты.
У меня была похожая проблема, когда я развернул приложение на Tomcat 8 на сервере Windows 2012, подготовленном через AWS EC2. Я мог получить доступ к развернутому приложению по адресу http: // localhost: 8080 изнутри виртуальной машины, но не из общедоступного Интернета после замены строки localhost в URL-адресе общедоступным IP-адресом виртуальной машины.
Он работал нормально после того, как я изменил правила брандмауэра, чтобы разрешить входящий трафик через порт 80 (для http), порт 443 (для https) и порт 8080 (это порт, на котором по умолчанию было развернуто мое веб-приложение на сервере tomcat.
Я задокументировал настройки брандмауэра и группы безопасности по ссылке ниже:
http://abhirampal.com/2015/08/04/firewall-config-for-java-web-app-hosted-on-aws-ec2-windows-2012-server/
источник
Вы, вероятно, неправильно настроили веб-сервер. Вы можете проверить это, подключившись к серверу через:
если вы не получаете сообщение об ошибке, вы можете подключиться. В этом случае вы неправильно настроили веб-сервер.
источник
Может потребоваться ввести правило для входящего TCP-порта 80 в группу безопасности AWS для вашего экземпляра.
источник
Возможно, вам понадобится сделать порт доступным для прослушивания любых публичных вызовов с консоли AWS.
источник
Пожалуйста, перейдите по этой ссылке http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/using-network-security.html , Раздел Группы безопасности
Создайте группу безопасности для своего экземпляра EC2, чтобы разрешить подключения к нужным портам.
источник
Две вещи для меня:
Модификация группы безопасности, прикрепленной к моему экземпляру RDS, чтобы разрешить входящий и исходящий трафик
Настройка входящих и исходящих правил в RDS для порта приложения
Подробные шаги:
На верхней панели вашей консоли AWS нажмите Сервисы, выберите EC2
В левом меню следующего окна в разделе экземпляры щелкните экземпляры, чтобы просмотреть экземпляры
В таблице, содержащей экземпляр, к которому вы хотите получить доступ из общего доступа, прокрутите вправо до столбца с именем Группы безопасности. Нажмите на эту группу безопасности.
Хит Сохранить
Теперь войдите в свой AWS RDS, чтобы установить правила входа и выхода через межсетевой экран.
Запустите панель управления. Нажмите «Система и безопасность» (может быть первым) и нажмите «Брандмауэр Windows». Затем нажмите на Дополнительные настройки
Нажмите на меню Входящие правила слева.
На вкладке Действия (справа) нажмите Новое правило.
Выберите порт и нажмите кнопку Далее
Выберите TCP (если не выбран) и ниже выберите «Определенные локальные порты».
В поле введите номер порта вашего приложения и нажмите «Далее».
Выберите Разрешить соединение и нажмите Далее.
Укажите имя правила. Что-то вроде названия вашего приложения для удобства чтения и нажмите «Готово»
Тогда давайте настроим исходящий трафик
источник
Пожалуйста, обратитесь по ссылке .. Это было бы более конкретно.
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html
Вы можете разрешить связь между всеми экземплярами, связанными с этой группой безопасности, или между экземплярами, связанными с другой группой безопасности, и экземплярами, связанными с этой группой безопасности. Нажмите Add Rule, выберите All ICMP, затем начните вводить идентификатор группы безопасности в Source; это дает вам список групп безопасности. Выберите группу безопасности из списка. Повторите шаги для протоколов TCP и UDP. Нажмите Сохранить, когда вы закончите.
источник
В основном это проблема с брандмауэром Windows. Я попробовал те же шаги, что и вы, но это не удалось. В тот момент, когда я отвернулся от брандмауэра, все было в порядке. Я думаю, что безопасность не должна быть затронута, поскольку мы настраиваем входящие исходящие правила.
источник
Для экземпляра WINDOWS - щелкните правой кнопкой мыши имя экземпляра EC-2, найдите файл .pem, созданный во время создания экземпляра, и нажмите «Расшифровать пароль». Вы получите имя пользователя и пароль для подключения через Пуск -> Выполнить -> mstsc -> Windows IP с аутентификацией Windows в качестве администратора и его паролем.
Для LINUX Instance -> Download puttygen и нажмите кнопку LOAD, чтобы выбрать файл .pem, а затем нажмите кнопку GENERATE, чтобы создать файл ppk. Через шпаклевку введите IP и в Соединения -> SSH -> AUTH -> Обзор выберите файл .ppk и сохраните сеансы замазки.
источник