
0.0.0.0 est l’adresse, ou l’hôte. Si un processus écoute sur 0.0.0.0, cela signifie qu’il doit écouter sur chaque interface réseau — ce qui signifie que si un autre ordinateur (sur Internet) envoie une requête à l’adresse IP de votre ordinateur, il la verra. Ainsi, écouter sur 0.0.0.0 signifie que ces processus sont accessibles à l’Internet public (si votre ordinateur est connecté.)
La plupart des frameworks de programmation n’écouteront pas sur 0.0.0.0 lors du développement, car vous ne souhaitez pas nécessairement exposer votre travail au public pendant que vous travaillez dessus, pour des raisons de confidentialité et de sécurité. Au lieu de cela, ils écouteront sur une adresse différente — 127.0.0.1, autrement connue sous le nom de localhost. Cela signifie que seul cet ordinateur peut effectuer des requêtes sur ce port.


:80 est lié au port interne :3000. Cela signifie que tout le trafic que la Replit App reçoit sur le port 80 sera dirigé vers le port interne 3000.
Cette configuration est capturée dans la section [[ports]] du fichier de configuration .replit.
Par défaut, Replit lie le premier port que vous ouvrez au port externe par défaut 80, ce qui permet à ce processus d’être disponible sur le domaine sans adresse de port (par exemple customdomain.com/ au lieu de customdomain.com:3000/). Les ports internes supplémentaires ouverts sont liés à d’autres ports externes disponibles (voir la liste complète ci-dessous.)
Aperçu
Dans l’outil Aperçu, vous pouvez modifier le port externe que la vue web affiche en cliquant sur le domaine et en sélectionnant un port différent. Vous pouvez également ouvrir l’outil réseau depuis l’icône « engrenage » pour plus de détails.
Port par défaut
Le port :80 est le « port par défaut » pour le trafic HTTP, donc le trafic HTTP envoyé au domaine racine sera automatiquement acheminé vers le port 80. Le chemin du port n’est pas affiché dans l’URL pour le port 80 pour cette raison. Les ports autres que:80 apparaîtront dans le chemin du domaine (par exemple customdomain.com:4200/). (Replit fournit TLS par défaut, donc il utilisera techniquement le port 443, qui est le port par défaut pour HTTPS. Pour tous usages pratiques, vous pouvez les traiter comme interchangeables.)
Outil réseau
Pour plus de détails sur la configuration des ports et la mise en réseau, vous pouvez ouvrir l’outil réseau. Il affiche l’état des ports ouverts dans votre Replit App, à quel port externe ils sont liés, et vous permet d’ajouter ou de supprimer des configurations.
Publication
Les déploiements Autoscale et VM réservée ne prennent en charge qu’un seul port externe exposé, et le port interne correspondant ne doit pas utiliserlocalhost. Si vous exposez davantage de ports, ou exposez un seul port sur localhost, votre application publiée échouera. Un moyen simple de s’assurer que vos déploiements Autoscale fonctionnent comme prévu est de supprimer toutes les entrées externalPort pour les ports dans votre configuration sauf le port du service avec lequel vous souhaitez interagir depuis Internet.
Débogage
Une raison courante pour laquelle quelque chose pourrait ne pas fonctionner comme prévu est que, bien que votre configuration de port semble correcte, votre programme écoute en réalité sur un port différent. Par exemple, si votre configuration est :
Préférences
Replit lie automatiquement les ports ouverts dans votre Replit App aux ports externes disponibles lorsqu’ils sont ouverts, et enregistre cette liaison dans le fichier de configuration .replit. Cependant, cela ne se produit pas par défaut pour les ports internes qui s’ouvrent sur localhost, car les services qui s’exécutent généralement sur localhost supposent généralement qu’ils ne seront accessibles que sur le même ordinateur que le processus en cours d’exécution (les ports localhost ne sont visibles que par l’ordinateur exécutant le processus.) Cela signifie que ces services ne sont souvent pas aussi sécurisés que les services conçus en supposant qu’ils seront disponibles sur l’Internet public. Vous pouvez toujours contourner cela en définissant l’option de configurationexposeLocalhost sur true pour le port que vous souhaitez exposer.
Si vous souhaitez toujours exposer les ports localhost par défaut, vous pouvez définir votre paramètre de « transfert automatique de port » dans l’outil Paramètres utilisateur sur « Tous les ports ».
Si vous souhaitez ne jamais créer de configuration pour les ports qui sont ouverts, et contrôler manuellement la configuration des ports pour toutes vos Replit Apps, vous pouvez définir ce paramètre sur « jamais ».
Ports pris en charge
La Replit App définira le port 80 comme port externe par défaut lorsque le premier port s’ouvre. Une Replit App peut exposer 3000, 3001, 3002, 3003, 4200, 5000, 5173, 6000, 6800, 8000, 8008, 8080, 8081 en tant que ports externes supplémentaires. Les ports 22 et 8283 ne sont pas transférables, car ils sont utilisés en interne.Configuration .replit [[ports]]
Type : {localPort, externalPort, exposeLocalhost}
La configuration [[ports]] vous permet de configurer quel port HTTP exposer pour la sortie web. Par défaut, tout port HTTP exposé avec l’hôte 0.0.0.0 sera exposé comme sortie web de votre Replit App.
Des ports supplémentaires peuvent être servis sans remplacer le port par défaut en ajoutant une nouvelle entrée [[ports]] à votre fichier .replit. Vous devez spécifier à la fois une entrée localPort et externalPort. Vous pouvez ajouter plusieurs ports supplémentaires en ajoutant plusieurs entrées [[ports]] à votre fichier .replit comme défini ci-dessous.
localPort
Détermine quel port Replit liera à un port externe.externalPort
Détermine quel port doit être exposé comme port accessible publiquement pour ce port local.localPort mais ne pas ajouter de externalPort :
exposeLocalhost
Détermine si un port interne utilisantlocalhost peut être lié à un port externe. Peut être true, false ou null.