2017-06-14 2 views
0

J'ai essayé d'exécuter mon application nodejs/expressjs sur mon serveur godaddy, mais tous les ports que j'utilise expirent. J'ai essayé d'utiliser l'application sur mon périphérique local et cela fonctionne très bien. J'ai un extrait de ma connexion ci-dessous.nodejs expiré sur tous les ports lors de l'hébergement sur le serveur godaddy

var app = express(); 

app.listen(8080, function() { 
    console.log("Listening on port " + 8080); 
}); 

Quand je lance le programme via ssh, je reçois aucune erreur

node index.js 
Listening on port 8080 

Mais quand je vais au j'obtenir l'emplacement correspondant dans mon navigateur,:

xxx took too long to respond. 

ERR_CONNECTION_TIMED_OUT 

Je Je suis assez sûr que cela a à voir avec la course sur le serveur Godaddy. Si quelqu'un a déjà utilisé ce service avec nodejs, y a-t-il un port spécifique que je devrais utiliser, ou y a-t-il d'autres configurations que je devrais faire?

+0

avez-vous spécifié le port dans l'URL lorsque vous utilisez votre navigateur pour vous connecter? Si vous l'avez fait, alors assurez-vous de jeter un coup d'œil aux paramètres du pare-feu. – viz

+0

J'ai spécifié le port dans l'URL. C'est un serveur partagé, donc je ne pense pas avoir accès aux paramètres du pare-feu –

+0

regardez ceci: https://kr.godaddy.com/help/accessing-your-servers-firewall-console-8553 – viz

Répondre

0

Avez-vous un VPS avec GoDaddy non? Donc, je suppose que vous avez également un accès root.

SSH sur votre serveur GoDaddy en tant que root et vérifiez si l'application Node.js écoute en fait sur ce port:

netstat -tunlp | grep 8080 

Si vous voyez un résultat pour l'application Node.js et ce port, puis le port est ouvert. Par défaut, il devrait y avoir un pare-feu sur votre serveur qui pourrait bloquer la plupart des ports et autoriser uniquement le trafic entrant nécessaire.

Vous pouvez vérifier s'il y a une règle pour ce port en exécutant la commande ci-dessous:

iptables -nvL | grep 8080 

Si un résultat est retourné, alors vous devez ajouter une règle iptables pour permettre l'accès à ce port. Il existe plusieurs méthodes pour le faire:

  • permettent un accès complet de votre accès IP au serveur
  • permettre à votre IP pour accéder au port 8080 sur le serveur GoDaddy
  • permis monde extérieur pour accéder au port 8080 sur votre serveur

Vous pouvez lire n'importe quel type iptables, il est assez facile d'ajouter/éditer/supprimer des règles de pare-feu. La plupart des serveurs cPanel/WHM sont fournis avec CSF Firewall (basé sur iptables et les scripts perl).

Afin de permettre une adresse IP à votre pare-feu (si vous avez installé le pare-feu CSF) vous devez émettre la commande suivante:

csf -a ip-address 

J'espère que ça aide!