Mam aplikację internetową działającą na Amazon EC2. Nasłuchuje na porcie 9898.
Mogę uzyskać do niego dostęp, wprowadzając adres IP i numer portu.
np. 1.2.3.4:9898
Jednak tak naprawdę chciałbym móc nie wprowadzać numeru portu.
Po zbadaniu tego wydaje się, że rozwiązaniem może być przekierowanie portów - tzn. Przekieruj żądania HTTP otrzymane na domyślnym porcie (80) na mój niestandardowy port (9898).
Czy to jest właściwa droga? Jeśli tak, to jak to skonfigurować w EC2?
Jeśli nie, to jak mam osiągnąć to, czego chcę?
Z góry dziękuję za wszelką pomoc.
Aktualizacja
Powinienem wspomnieć, że instancja EC2 to AMI systemu Windows Server 2012.
Odpowiedzi:
Najłatwiejszym sposobem na zrobienie tego bez samodzielnego instalowania jest umieszczenie modułu Amazon Elastic Load Balancer przed instancją. Umożliwiają one przekierowywanie portów zgodnie z Twoimi intencjami.
źródło
Masz dwie opcje.
1) Skonfiguruj zwrotny serwer proxy, aby przekazywać żądania HTTP (zakładając, że jest to HTTP) na inny port.
Powinno to być tak proste, jak: Zainstaluj apache, włącz moduł proxy_http, umieść coś takiego:
2) Skonfiguruj tabele IP, aby przekazywać pakiety .
źródło
ponieważ widziałem komentarz na temat używania iptables, podzielę się swoim doświadczeniem w systemie Linux ec2. Znalazłem doskonały artykuł o portach przekierowujących dla Node.js. Jeśli przejdziesz do instrukcji dotyczących edycji pliku sysctl.conf, zobaczysz instrukcje dotyczące przekazywania. Moja procedura dla Linuksa różniła się nieznacznie od Ubuntu. Artykuł jest: http://www.lauradhamilton.com/how-to-set-up-a-nodejs-web-server-on-amazon-ec2
Praca odbywa się za pośrednictwem ssh. Jedyną przeszkodą, na jaką natknąłem się, było dwukrotne przeprowadzenie trasy bez opróżniania iptables między nimi, a moja aplikacja internetowa nie była widoczna, dopóki nie opróżniłem i nie załadowałem ponownie. Wiem, że to okropny obraz na zakończenie, przepraszam.
źródło