web-dev-qa-db-fra.com

Impossible d'ouvrir le port 8080 sur Google Compute Engine sous Debian

J'essaie de faire fonctionner un simple serveur http Python qui affiche "hello world" sur le port 8080 à l'aide d'une micro-instance. J'ai également 4 instances de Tornado fonctionnant derrière Nginx. La connexion à Nginx/Tornado sur le port 80 n’est pas un problème.

J'ai ajouté le port 8080 à mes paramètres de pare-feu et je me suis assuré que le port 8080 est ouvert et en écoute sur le serveur, mais quoi que je fasse, ma connexion est toujours refusée. J'ai essayé de me connecter à l'aide des navigateurs, telnet et wget, et chaque connexion est refusée.

Voici la sortie de netstat -an | grep "LISTEN "

tcp        0      0 0.0.0.0:8000            0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:8001            0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:8002            0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:8003            0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp6       0      0 :::8000                 :::*                    LISTEN
tcp6       0      0 :::8001                 :::*                    LISTEN
tcp6       0      0 :::8002                 :::*                    LISTEN
tcp6       0      0 :::8003                 :::*                    LISTEN
tcp6       0      0 :::22                   :::*                    LISTEN

Voici ma liste d'iptables

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http-alt

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Voici le script Python que j'utilise:

#!/usr/bin/python
from BaseHTTPServer import BaseHTTPRequestHandler,HTTPServer

PORT_NUMBER = 8080

#This class will handles any incoming request from
#the browser
class myHandler(BaseHTTPRequestHandler):

   #Handler for the GET requests
   def do_GET(self):
      self.send_response(200)
      self.send_header('Content-type','text/html')
      self.end_headers()
      # Send the html message
      self.wfile.write("Hello World!")
      return

try:
   #Create a web server and define the handler to manage the
   #incoming request
   server = HTTPServer(('', PORT_NUMBER), myHandler)
   print 'Started httpserver on port ' , PORT_NUMBER

   #Wait forever for incoming htto requests
   server.serve_forever()

except KeyboardInterrupt:
   print '^C received, shutting down the web server'
   server.socket.close()
20
ryanovas

Dans la console Web GCE> Réseaux> Règles de pare-feu> modifiez votre règle, supprimez les balises cible et appliquez-la.

GL

7
apalazzin

assurez-vous d’ajouter le bon port . la réponse ci-dessus indique "tcp: 80", mais cela ne fonctionnera pas si votre serveur est exécuté sur un autre port ., ce qui explique probablement pourquoi il ne fonctionne pas

0
Guruprasad GV

Après le déploiement de Kubernetes et le pod exposé en tant que service, j'ai essayé de visualiser l'application sur le port 8080 à partir du cloud Shell. mais l'erreur suivante s'affichait: Erreur: Impossible de se connecter à Cloud Shell sur le port 8080 . Assurez-vous que votre serveur écoute sur le port 8080 et réessayez. 

Aussi, j'ai essayé d'accéder à l'application en utilisant l'adresse IP externe http: // external-ip: 8080/ mais il s'est avéré impossible de se connecter à la page

0
Mahesh

il se peut que quelque chose se passe mal lorsque vous avez créé la règle de réseau. Lorsqu'une règle de réseau est décrite et qu'un MetaTag associé est créé, assurez-vous que les instances de machine virtuelle contiennent le même MetaTag afin que le trafic souhaité soit redirigé vers la machine.

0
marco strina

Vous ne savez toujours pas ce qui ne va pas, mais j'ai supprimé mon instance et le réseau en ai ensuite créé de nouvelles. La nouvelle instance et le nouveau réseau semblent bien fonctionner, alors je ne peux que supposer que quelque chose ne va pas lorsque je joue avec l'ancien réseau, car le nouveau ne semble pas avoir le même problème.

0
ryanovas