2016-08-28 7 views
1

Я развернул наше игровое приложение 1.2.7 для веб-приложения в aws-ec2 ubuntu. Запустил приложение на порт 8081, так как 80 или 8080 жалуется на невозможность привязки к этим портам. Как я могу настроить экземпляр ubuntu либо для защиты группы безопасности aws, либо от самого ubuntu, так что мне не нужно будет добавлять порт 8081 в конец общего URL-адреса или публичного ip, предоставленного aws. т.е. я не хочу это сделать:Как настроить aws-ec2 Экземпляр для запуска playframework 1.2.7 application

example.com:8081/ip4:8081 

Но я просто хочу использовать:

example.com/ip4 

для доступа к приложению. Пожалуйста, мне нужна помощь по этому вопросу.

ответ

1

Проблема в том, что на портах Ubuntu < 1024 являются привилегированными. Это означает, что обычные пользователи ничего не могут с этим поделать. Чтобы начать воспроизведение на порту 80, вы можете просто запустить его как root пользователь. В любом случае, это не лучшая практика для запуска веб-сервера как пользователя из-за возможных проблем с безопасностью.

Я хотел бы предложить, чтобы запустить его на любой Непривилегированной порт вы хотите, как обычный пользователь, и макияжа использования Elastic Load Balancer (УДРО), чтобы перенаправить весь входящий трафик на порт 80 (или 443, например,) к вашему порту воспроизведения. Вы можете выполнить это просто с помощью веб-интерфейса AWS при создании ELB

Таким образом, пользователи достигнут вашего экземпляра воспроизведения, вызвавшего ELB на порт 80, используя имя, присвоенное автозапускам Amazon.

Пример потока: браузер пользователя ->http://your-elb-dns-name.com -> your_play_server_ip: 8081

Просто убедитесь, что Группа безопасности, связанный с вашим экземпляром сервера игры будет принимать входящий трафик на 8081 с вашего ELB (вы можете идентифицировать свой ELB, используя идентификатор amazon, назначенный во время его создания)

Еще одно большое преимущество использования этого подхода ELB заключается в том, что вы можете использовать его как обратный прокси, чтобы скрыть свои ec2-экземпляры (ы) в интернет. Фактически, если вы используете ELB, вы также можете избежать присвоения публичного ip вашему экземпляру ec2 во время создания. ELB не нужно знать публичный IP beacuse он будет иметь доступ к Virtual Private Cloud (VPC), в котором ваш экземпляр EC2 был запущен

Другой возможный подход, если вы не хотите использовать ELB, это установить NGINx или Apache на экземпляр ec2, чтобы действовать как обратный прокси-сервер, но я думаю, вы должны использовать веб-службы Amazon для этого. Вы можете использовать внутренний прокси-сервер NGINX или Apache, если вам нужно скрыть определенный ресурс вашего игрового сервера в Интернете.

https://aws.amazon.com/it/elasticloadbalancing/

+0

Большое спасибо ** Andrea ** для образования, это действительно решить эту проблему. – Baah

Смежные вопросы