2017-09-22 1 views
-1

Dans node.js, comment créer un serveur accessible avec un nom et non un port?Un serveur node.js peut-il être nommé comme un emplacement de répertoire?

au lieu de:

https://example.com:port

ce genre de chose:

https://example.com/name/

+0

Dans votre deuxième cas, il fonctionne simplement sur le port par défaut (port 80). Vous aurez peut-être besoin de privilèges élevés pour faire fonctionner un serveur sur le port 80, mais il n'y a rien de plus magique que cela. – Frxstrem

Répondre

0

Un serveur (de toute nature) n'est nommé par le domaine et le port dans l'URL - il pas nommé du tout par le chemin. Le navigateur analyse l'URL, prend le domaine et le port, recherche ce domaine dans le DNS pour obtenir l'adresse IP, puis établit une connexion TCP avec cette adresse IP et ce port spécifiques. Ainsi, dans votre exemple, ce serait:

https://example.com:port 

ou

https://example.com 

où celui-ci utilise juste le port par défaut de 80. Seules les parties de l'URL spécifier le serveur que le navigateur se connecte à. Le chemin est ensuite envoyé à ce serveur et le serveur peut alors décider ce qu'il veut faire avec ce chemin lorsqu'il reçoit la requête.


Cela dit, il existe des outils côté serveur, vous pouvez utiliser qui traiter une requête au serveur ci-dessus, regardez le chemin, puis faire parvenir la demande à un serveur/port différent. Ceci est souvent appelé un serveur proxy. Ainsi, par exemple, vous pouvez exécuter nginx (un proxy configurable prédéfini) qui vous permettra de configurer que vous voulez qu'une requête à https://example.com/name/ pour aller à un autre hôte (que vous pouvez configurer comme une autre adresse IP et un port).

Le navigateur se connecte à example.com (qui est votre proxy) et envoie la demande http pour /name. Le proxy recevra cette requête, regardera le chemin, verra qu'il est configuré pour transmettre cette requête à un hôte différent, puis se connectera à cet autre hôte, lui enverra la requête, récupérera la réponse, puis retournera la réponse à le navigateur. Le navigateur ne saura pas nécessairement que cette "redirection" se passe en coulisse. Il fait une demande et obtient une réponse.