Dieses FAQ erklärt, wie Sie Ihre Webanwendungen (z.B. Gradio, FastAPI, Streamlit, Flask) über HTTP(S) auf Trooper.AI GPU-Servern öffentlich zugänglich machen können. Dies ist besonders nützlich für Dashboards, APIs und Benutzeroberflächen, die innerhalb Ihres Blibs oder Ihrer Vorlage ausgeführt werden.
Wir empfehlen, den in allen Vorlagen enthaltenen SSL-Proxy zu verwenden, um Ihre Anwendungen einfach zu sichern. Weitere Informationen finden Sie unten!
Jeder Server auf Trooper.AI wird mit mindestens 10 öffentliche Ports pro GPUDas bedeutet:
Alle öffentlichen Ports sind durch unseren SSL-Proxy gesichert. Die meisten Benutzer benötigen nur 2–4 Ports (z. B. einer für ihre Anwendung, einer für die Überwachung, einer für WebSocket/API-Zugriff).
Sie können Ihre verfügbaren Ports im Dashboard überprüfen oder eine vollständige Liste vom Support anfordern.
In diesem Screenshot: Von oben nach unten und von links nach rechts sehen Sie:
0.0.0.0, nicht 127.0.0.1 und einem Ihrer zugewiesenen öffentlichen Ports wie 11307Beispiel (Python/Flask):
flask run --host=0.0.0.0 --port=11307
Beispiel (Gradio):
app.launch(server_name="0.0.0.0", server_port=11307)
Beispiel (Starten einer Gradio-App über die Shell):
python your_app.py --server-name 0.0.0.0 --server-port 11307
Beispiel (Docker):
docker run -p 11307:8080 your-ai-webapp-image
11307Ihre Anwendung ist erreichbar unter:
http://connectXX.trooper.ai:11307
No. Direkter Zugriff auf Port 80 (HTTP) und 443 (HTTPS) ist nicht verfügbar aus Sicherheitsgründen.
Wenn Sie einen sicheren HTTPS-Endpunkt benötigen (z. B. für die Einbettung in das Frontend oder für OAuth-Umleitungen):
👉 Sie erhalten automatisch SSL für jede Vorlage oder kontaktieren Sie den Support, um Hilfe zu erhalten.
Dies wird Ihren öffentlichen Port (z.B. 11307zu einem sicheren HTTPS-Endpunkt wie:
https://ssl-access-id.app.trooper.ai/
Dieser SSL-Proxy ist in allen GPU-Plänen enthalten und wird automatisch bei jeder Template-Installation aktiviert. Daten werden sicher über unser internes Netzwerk geleitet, was die Sicherheit erhöht und sicherstellt, dass die Zertifikate spezifisch für die Netzwerkumgebung Ihres GPU Server Blibs sind.
Sie haben vier Hauptoptionen:
Nutzen Sie unseren verwalteten HTTPS-Proxy Wird automatisch bei der Vorlageninstallation bereitgestellt. Der Datenverkehr wird vollständig im internen Netzwerk direkt zu Ihrem GPU Server Blib geleitet!
Betreiben Sie Ihren eigenen Reverse-Proxy (z.B. nginx mit Let’s Encrypt) auf Ihrem öffentlichen Frontend (Web)-Server.
Hinweis: Sie verwenden weiterhin einen nicht standardmäßigen Port wie 11306 auf dem GPU-Server. Stellen Sie sicher, dass WebSockets bei Bedarf unterstützt werden.
Verwenden Sie einen Tunneling-Dienst wie SSH-Tunnel, ngrok oder Cloudflare Tunnel. Dies verschafft Ihnen schnell eine öffentliche HTTPS-Domain, erschwert jedoch die Wartung. Verwenden Sie dies nur während der schnellen Entwicklung.
Über API kommunizieren (Branchenstandard) Kommunizieren Sie ausschließlich über die API von Ihrem öffentlichen Server mit Ihrem GPU-Server. Dies kann mit (1) dem HTTPS-Proxy oder (3) dem SSH-Tunnel kombiniert werden. Dies ist der Branchenstandard und wird von produktiven Diensten verwendet.
Unser SSL-Proxy stellt immer HTTPS bereit on https://<ssl-id>.app.trooper.ai und leitet den Datenverkehr über unser internes Netzwerk an den Port Ihrer Anwendung weiter. erkennt automatisch was Sie tun (reguläres HTTP, Streaming/Chat, große Downloads, WebSockets) und wendet ein intelligentes Timeout an, damit lange Jobs nicht abgebrochen werden – aber inaktive/unterbrochene Verbindungen nicht ewig hängen bleiben.
| Verkehrsart | Wie es erkannt wird | Proxy-Timeout |
|---|---|---|
| Reguläre HTTP-Anfrage/Antwort | Alles, was unten nicht übereinstimmt | 60s (STANDARD) |
| Chat/Streaming (SSE / NDJSON) | Pfad enthält /api/chat, /chat/completions, /api/generate, /generate, /stream, /events, or Accept: text/event-stream / application/x-ndjson |
10 Min. (LANG) |
| Große Datei-Downloads | Range Header, dateiähnlicher Pfad/Erweiterung Accept: application/octet-stream |
30 Min. (HERUNTERLADEN) |
| WebSockets | HTTP-Upgrade auf WS/WSS | Kein Proxy-Leerlauf-Timeout |
Der Proxy passt Timeouts auch dynamisch auf der Antwort an. Antwort (z.B. wenn Ihr Server sendet
206orContent-Disposition: attachmenterhöht es sich auf HERUNTERLADEN Timeout, auch wenn die Anfrage ursprünglich nicht als Download klassifiziert wurde.
Für Chat/Streaming (SSE/NDJSON)
Senden Sie die richtigen Header, damit der Proxy weiß, dass es sich um einen Stream handelt:
Content-Type: text/event-streamContent-Type: application/x-ndjsonSenden Sie mindestens alle 15–30 Sekunden ein Heartbeat. SSE kann eine Kommentarzeile senden :\n; NDJSON kann eine leere Zeile senden). Dies hält die Verbindung während langer Modellläufe warm.
Für WebSockets
Für große Downloads
206 Partial Content gegebenenfalls.Content-Disposition: attachment für herunterladbare Dateien.Content-Type (oder lassen Sie Clients dies anfordern mit Accept: application/octet-streamdamit der Proxy es als Download klassifiziert und ein längeres Fenster anwendet.SSE-Stream (curl):
curl -N -H "Accept: text/event-stream" https://<ssl-id>.app.trooper.ai/api/stream
NDJSON-Stream:
curl -N -H "Accept: application/x-ndjson" https://<ssl-id>.app.trooper.ai/generate
Fortsetzbarer Download:
curl -O -H "Range: bytes=0-" https://<ssl-id>.app.trooper.ai/files/big-model.bin
Content-Disposition: attachment und einen korrekten Content-Typeoder den Client Accept: application/octet-stream senden lassen Accept: application/octet-streamDies gewährleistet. 30 Min. Download-FensterVon Ihrem Server aus:
ss -tlnp | grep :11307
Sie sollten Folgendes sehen:
LISTEN 0 128 0.0.0.0:11307 ...
Von Ihrem lokalen Rechner:
curl http://connectXX.trooper.ai:11307
Wenn der Port hängen bleibt oder die Verbindung fehlschlägt:
0.0.0.0socatWenn Ihre Anwendung nur auf localhost:8000Sie können es weiterleiten:
sudo socat TCP-LISTEN:11307,fork TCP:localhost:8000
Dies macht verfügbar localhost:8000 extern als connectXX.trooper.ai:11307.
Öffentliche Portbereiche werden automatisch zugewiesen und können nicht geändert werden.
Wenn Ihre Anwendung mehr Ports benötigt als die Standardzuordnung (z. B. für parallele Anwendungen oder Multi-Tenant-Bereitstellungen), kontaktieren Sie bitte unser Support-Team, nachdem Sie unsere Dokumentation sorgfältig geprüft haben. Es ist wichtig zu verstehen, dass GPU-Server nicht als öffentlich zugängliche Webserver gedacht sind und wir keine Möglichkeit bieten, zusätzliche öffentliche Ports zu öffnen.
0.0.0.0import uvicorn
uvicorn.run("main:app", host="0.0.0.0", port=11308)
Greifen Sie darauf zu unter:
http://connectXX.trooper.ai:11308
HTTPS benötigt? Sie sollten automatisch das Schlosssymbol bei Ihren Template-Installationen sehen, das auf folgende Adresse verweist:
https://ssl-token.apps.trooper.ai/
Wir sind für Sie da. Bitte bereiten Sie diese Informationen vor, bevor Sie uns kontaktieren:
aiXX_trooperai_000XXX)