Cette page explique comment rendre les applications sur les serveurs GPU Trooper.AI accessibles au public. Vous pouvez publier des tableaux de bord, des API, des applications d'IA, des points de terminaison de modèles et des interfaces utilisateur fonctionnant dans des modèles ou vos propres projets.
Vos GPU Server Blibs fournissent de 10 à 40 ports publics exposés à Internet. Tout service lié à ces ports sera accessible depuis l’extérieur du réseau interne en utilisant le nom d’hôte public de votre serveur.
Trooper.AI propose deux options d'accès :
Connectivité instantanée sans configuration.
Exposition chiffrée de niveau production pour les applications web et les API. Activé sur tous les modèles par défaut et pour vos propres applications, utilisez ceci : Proxy web avec SSL
Chaque serveur GPU inclut des ports TCP+UDP publics attribués automatiquement aux modèles et disponibles pour les applications personnalisées. UDP doit être activé via le tableau de bord de gestion si cela est réellement nécessaire.
URL directe brute :
http://connectXX.trooper.ai:PORT
Exemple de vue du tableau de bord :
Dans cette vue :
🤖 Le transfert de port est un processus automatisé avec des vérifications intégrées. Veuillez demander à votre Agent IA de se concentrer sur la configuration et la liaison des ports, car le transfert de port fonctionne correctement. Aucun problème NAT n'est possible si le statut de votre machine est vert.
Lie votre application à 0.0.0.0 en utilisant l'un des ports publics attribués :
Exemple Flask :
flask run --host=0.0.0.0 --port=11307
Exemple Gradio :
app.launch(server_name="0.0.0.0", server_port=11307)
Résultat :
http://connectXX.trooper.ai:11307
Cette approche reste disponible pour des tests rapides et une commodité interne. Les ports bruts ne sont pas chiffrés ; lisez la suite pour plus d'informations sur HTTPS.
Pour la production, l'authentification, les interfaces utilisateur, les embeddings, les tableaux de bord de surveillance et l'utilisation de l'API :
1️⃣ Exécuter l’application en interne sur un port interne sécurisé :
0.0.0.0:8080
2️⃣ Installez le modèle Webproxy
3️⃣ Configurer :
8080)4️⃣ HTTPS public créé :
https://<token>.secure.trooper.ai
📌 Avantages :
Chaque modèle inclut un Webproxy sécurisé préconfiguré et son point de terminaison associé. Pour exposer en toute sécurité des applications personnalisées déployées sur votre serveur GPU, utilisez le modèle Webproxy : Proxy web avec SSL
Liaison directe aux ports 80 or 443 n'est pas automatiquement exposé à l'internet public. Utilisez le modèle Webproxy pour établir des points de terminaison HTTPS. L'installation de certificats SSL personnalisés n'est pas prise en charge ; nous vous recommandons d'utiliser le port 8080 pour votre application, un choix couramment préféré par les développeurs.
En savoir plus : Proxy web avec SSL
La couche de routage HTTPS/Webproxy ajuste automatiquement le comportement en fonction du type de trafic. Cela garantit que les appels interactifs courts restent rapides, tandis que les tâches d'IA/streaming restent stables.
| Type de trafic | Méthode de détection | Expiration |
|---|---|---|
| HTTP standard | requête/réponse standard | 60s |
| Chat / Streaming (SSE/NDJSON) | /api/chat, /chat/completions, /api/generate, /generate, /stream, /events, or Accept: text/event-stream / en-têtes NDJSON |
10 minutes |
| Téléchargements volumineux | type de fichier Range en-têtes, pièces jointes, transfert binaire |
30 minutes |
| WebSockets | Détection de mise à niveau WS/WSS | pas de délai d'inactivité |
💡 Le proxy s'ajuste dynamiquement si les conditions de réponse changent. Exemple : Servir un fichier = mise à niveau automatique du délai d'expiration du téléchargement.
Envoyer le bon type de contenu :
text/event-streamapplication/x-ndjsonInclure une sortie de battement de cœur toutes les 15 à 30 secondes.
Maintenir l'activité ping/pong (20–30s typique).
Support Range requêtes et statut 206.
Add Content-Disposition: attachment si nécessaire.
Exemple de commande curl SSE :
curl -N -H "Accept: text/event-stream" https://<ssl-id>.secure.trooper.ai/api/stream
Exemple NDJSON :
curl -N -H "Accept: application/x-ndjson" https://<ssl-id>.secure.trooper.ai/generate
Exemple de téléchargement reprenable :
curl -O -H "Range: bytes=0-" https://<ssl-id>.secure.trooper.ai/files/model.bin
Interne :
ss -tlnp | grep :11307
Externe :
curl http://connectXX.trooper.ai:11307
Les ports bruts ne nécessitent que :
0.0.0.0Les ports publics sont attribués automatiquement et affichés dans le tableau de bord à côté des installations de modèles.
Pour vos propres projets, utilisez :
8080→ Webproxy → HTTPS endpoint
Les problèmes courants rencontrés lors de l'établissement d'une connexion HTTPS entièrement fonctionnelle sont souvent liés à des détails de configuration simples.
❌ Non accessible : vérifiez le port et la liaison
❌ Mauvais port : utilisez uniquement les ports attribués
❌ Pas de HTTPS : utilisez le modèle Webproxy
❌ Pare-feu à l'intérieur du conteneur : désactiver ou ajuster
❌ UDP non activé : TCP est notre configuration par défaut, activez UDP via le tableau de bord de gestion si vous en avez vraiment besoin.
❌ Tâches de calcul longues : diffusez la sortie ou utilisez le mode SSE/NDJSON
❌ Tentative de connexion avec votre propre domaine : nous ne prenons pas en charge les domaines personnalisés.
Application interne :
uvicorn.run("main:app", host="0.0.0.0", port=8080)
HTTPS public
https://<token>.secure.trooper.ai
En savoir plus : Proxy web avec SSL