Aller au contenu

Ports des conteneurs

Stack Harbor PaaS ouvre un ensemble de ports par défaut sur chaque conteneur, avec routage TLS via le répartiteur de charge partagé. Cette page couvre les valeurs par défaut, l'auto-redirection des ports et la dérogation JELASTIC_EXPOSE.

L’onglet Ports dans les paramètres de couche de conteneur documente comment la plateforme expose les ports du conteneur via le répartiteur de charge partagé (SLB). La plateforme ouvre un ensemble de ports par défaut sur chaque conteneur, et vous pouvez étendre l’accès avec des points de terminaison ou une IP publique.

Ports par défaut

Chaque conteneur a les ports suivants ouverts par défaut. La colonne Port sur SLB est ce que les clients externes atteignent ; la colonne Port d’arrière-plan est l’endroit où le trafic est transféré à l’intérieur du conteneur.

Port sur SLBPort d’arrière-planSSL frontalSSL d’arrière-plan
80, 8080, 808680nonnon
48484848ouioui
84438443ouioui
4901–49104901–4910ouioui
44380ouinon
49494949ouinon
79797979ouinon

Résumé des cas courants :

  • 80, 8080, 8686 — proxient le trafic HTTP vers le port 80 à l’intérieur du conteneur.
  • 443 — terminent TLS au SLB et transfèrent du HTTP en clair vers le port 80 à l’intérieur.
  • 4848, 8443, 4901–4910 — TLS de bout en bout (frontal et arrière-plan tous deux chiffrés).
  • 4949, 7979 — TLS au SLB, arrière-plan en clair.

Ouvrir des ports supplémentaires

Quand l’ensemble par défaut ne suffit pas, vous avez deux options :

  • Points de terminaison — mappez un port interne du conteneur à un port externe aléatoire via le répartiteur de charge partagé. Configurez-les dans Paramètres > Points de terminaison sur l’environnement. Utile quand vous devez exposer, par exemple, un service TCP personnalisé qui n’est pas sur un port HTTP standard.
  • IP publique — attachez un IPv4 ou IPv6 dédié à un conteneur. Chaque port du conteneur devient joignable directement, en contournant le SLB. Utilisez-le quand le modèle de routage du SLB ne convient pas, par exemple quand vous devez contrôler l’IP publique que voient les clients.

Dans les deux cas, liez le récepteur de votre application à l’adresse interne ou externe que la plateforme expose.

Auto-redirection des ports

La plateforme transfère automatiquement les requêtes HTTP/HTTPS entrantes vers l’application en cours d’exécution à l’intérieur du conteneur, même si votre application écoute sur un port non standard. Le mécanisme :

  1. Quand le conteneur démarre, la plateforme scanne les ports TCP qu’il écoute.
  2. Les ports de services courants (SSH, courriel, bases de données) sont filtrés.
  3. Le premier port restant devient le point d’entrée HTTP du conteneur. Le trafic HTTP/HTTPS entrant sur les défauts du SLB est transféré vers ce port.

Le scan s’exécute à chaque démarrage du conteneur, donc votre application est joignable via le SLB dès qu’elle est déployée — aucun mappage manuel de ports requis.

Outrepasser l’auto-redirection

Parfois l’auto-redirection choisit le mauvais port — par exemple, elle pourrait atterrir sur un panneau d’administration que vous préféreriez ne pas exposer, ou le récepteur principal de votre application prend quelques secondes de plus à démarrer qu’un autre port. Outrepassez avec des variables d’environnement.

JELASTIC_EXPOSE

Définissez JELASTIC_EXPOSE dans les variables du conteneur pour contrôler l’auto-redirection explicitement :

  • 0, DISABLED ou FALSE — désactive l’auto-redirection entièrement.
  • Un nombre dans la plage 1–65535 — épingle le point d’entrée à ce port exact.
  • Toute autre valeur — l’auto-redirection s’exécute comme d’habitude.

JELASTIC_PRIORITY_PORTS

Pour les conteneurs qui prennent du temps à activer leur récepteur principal, JELASTIC_PRIORITY_PORTS est une liste de ports séparés par des virgules que la plateforme vérifie en premier. La plateforme configure le point d’entrée au premier port actif qu’elle trouve, ce qui peut faire gagner des secondes au démarrage du conteneur par rapport au scan complet.

Règles :

  • Si JELASTIC_EXPOSE est défini à un port exact, JELASTIC_PRIORITY_PORTS est ignoré.
  • Si aucun des JELASTIC_PRIORITY_PORTS n’écoute lorsque la plateforme vérifie, le scan d’auto-redirection par défaut s’exécute.

REDIRECT_EXCLUDE_PORTS

Pour les serveurs applicatifs Node.js, REDIRECT_EXCLUDE_PORTS (aussi séparé par des virgules) permet de retirer explicitement des ports de la liste des candidats à l’auto-redirection — utile quand un processus écoute sur le port 80 pour une raison mais que vous voulez que l’auto-redirection pointe ailleurs.

Personnalisation plus poussée

Pour un contrôle plus fin de l’accessibilité du conteneur — règles d’accès basées sur l’IP, listes de refus par port, restrictions de protocole — voir la référence pare-feu des conteneurs.

Voir aussi