2011-02-28 5 views
3

J'essaie de faire communiquer deux processus via une connexion socket. L'une d'elles est une application python, et l'autre est un script PHP.Sockets internes EC2

J'ai créé et testé la combinaison client/serveur sur mon ordinateur personnel et il fonctionne correctement. Cependant, lorsque je déploie sur une instance EC2 (Ubuntu 10.10 64bit ami + apache + php), je suis incapable de me connecter à une erreur de socket (111 Connection Refused) du script PHP. L'application python est capable de se lier au socket et d'écouter les messages mais le script php est incapable d'envoyer des messages.

J'ai ouvert les ports requis dans le groupe de sécurité amazon et je peux me connecter au port en externe à l'aide de telnet. Cependant, si je tente de me connecter à telnet depuis le serveur, je reçois la même erreur de refus de connexion.

Comment puis-je résoudre ce problème?

Edit: Les deux processus sont sur la même instance

+0

ces deux processus sont sur la même instance ou différents? – Eloff

+0

pouvez-vous ping l'un l'autre? sont-ils sous le même centre de données? – c2h2

+0

Les deux processus sont sur la même instance. – aitskovi

Répondre

1

La question n'a rien à voir avec EC2 explicitement. Je n'étais pas lié à localhost, mais à la place lié à mon nom d'hôte. Sur un réseau local qui était le même que mon ip localhost, mais sur ec2 ce n'était pas le cas. Passer à la liaison à localhost a résolu le problème.