Ich habe eine Webanwendung, die auf Amazon EC2 ausgeführt wird. Es lauscht auf Port 9898.
Ich kann darauf zugreifen, indem ich die IP-Adresse und die Portnummer eingebe.
zB 1.2.3.4:9898
Was ich jedoch wirklich gerne tun würde, ist, die Portnummer nicht eingeben zu müssen.
Nachforschungen haben ergeben, dass die Portweiterleitung möglicherweise die Lösung ist - dh, Sie leiten über den Standardport (80) empfangene http-Anforderungen an meinen nicht standardmäßigen Port (9898) weiter.
Ist das der richtige Weg? Wenn ja, wie richte ich das auf EC2 ein?
Wenn nicht, wie erreiche ich, was ich will?
Vielen Dank im Voraus für jede Hilfe.
Aktualisieren
Ich hätte erwähnen sollen, dass die EC2-Instanz eine Windows Server 2012-AMI ist.
Antworten:
Der einfachste Weg, dies zu tun, ohne selbst etwas zu installieren, besteht darin, einen Amazon Elastic Load Balancer vor die Instanz zu stellen. Mit diesen können Sie Ports so weiterleiten, wie Sie es beabsichtigen.
quelle
Sie haben zwei Möglichkeiten.
1) Richten Sie einen Reverse-Proxy ein, um die HTTP-Anforderungen (sofern es sich um HTTP handelt) an einen anderen Port weiterzuleiten.
Es sollte so einfach sein wie: Installieren Sie Apache, aktivieren Sie das proxy_http-Modul und schreiben Sie etwas wie:
2) Richten Sie IP-Tabellen ein, um die Pakete weiterzuleiten .
quelle
da ich den kommentar zur verwendung von iptables gesehen habe, werde ich meine erfahrungen mit ec2 linux teilen. Ich habe einen ausgezeichneten Artikel zum Weiterleiten von Ports für Node.js gefunden. Wenn Sie zu den Anweisungen zum Bearbeiten von sysctl.conf springen, werden die Anweisungen zum Weiterleiten angezeigt. Mein Linux-Verfahren unterschied sich leicht von Ubuntu. Artikel ist: http://www.lauradhamilton.com/how-to-set-up-a-nodejs-web-server-on-amazon-ec2
Die Arbeit erfolgt über ssh. Das einzige Problem, auf das ich gestoßen bin, war, dass ich zweimal vorab geroutet habe, ohne iptables dazwischen zu löschen, und meine Web-App war nicht sichtbar, bis ich gespült und neu geladen habe. Ich weiß, dass das ein schreckliches Bild ist, sorry.
quelle