J'ai une application Web fonctionnant sur Amazon EC2. Il écoute sur le port 9898.
Je peux y accéder en entrant l'adresse IP et le numéro de port.
par exemple 1.2.3.4:9898
Cependant, ce que j'aimerais vraiment pouvoir faire, c'est de ne pas avoir à saisir le numéro de port.
En recherchant cela, il semble que la redirection de port pourrait être la solution - c'est-à-dire transférer les requêtes http reçues sur le port par défaut (80) vers mon port non standard (9898).
Est-ce la bonne façon de procéder? Si oui, comment puis-je configurer cela sur EC2?
Sinon, comment puis-je atteindre ce que je veux?
Merci d'avance pour votre aide.
Mise à jour
J'aurais dû mentionner que l'instance EC2 est une AMI Windows Server 2012.
Réponses:
La façon la plus simple de procéder sans installer quelque chose vous-même est de placer un Amazon Elastic Load Balancer devant l'instance. Ceux-ci vous permettent de transférer les ports comme vous le souhaitez.
la source
Vous avez deux options.
1) Configurez un proxy inverse pour transférer les requêtes HTTP (en supposant que c'est HTTP) vers un autre port.
Cela devrait être aussi simple que: installer apache, activer le module proxy_http, mettre quelque chose comme:
2) Configurez les tables IP pour transférer les paquets .
la source
parce que j'ai vu le commentaire sur l'utilisation d'iptables, je vais partager mon expérience dans ec2 linux. J'ai trouvé un excellent article sur le transfert de ports pour Node.js. Si vous passez aux instructions de modification de sysctl.conf, vous voyez les instructions de transfert. Ma procédure Linux variait légèrement d'Ubuntu. L'article est: http://www.lauradhamilton.com/how-to-set-up-a-nodejs-web-server-on-amazon-ec2
Le travail se fait via ssh. Le seul problème que j'ai rencontré était que j'ai pré-acheminé deux fois, sans vider les iptables entre, et mon application Web n'était pas visible jusqu'à ce que je rince et recharge. Je sais que c'est une image terrible pour conclure, désolé.
la source