Proxy Web con SSL

Garantire la sicurezza della connessione alla Sua macchina GPU è una considerazione fondamentale per ogni sviluppatore. Assicurarsi che il Suo lavoro sia accessibile mantenendo la sicurezza risulta cruciale mentre Lei sviluppa la prossima grande cosa nell'AI! Prima di procedere, assicuriSi anche di leggere 🌍 HTTPS Access (Come accedere al Suo Blib tramite SSL) e 🛡️ Firewall di livello rete personalizzabile di Trooper.AI.

👮 Per garantire sicurezza e scalabilità ottimali, non esporre direttamente questo endpoint agli utenti pubblici. Implementi un web server dedicato per gestire le interazioni degli utenti, che comunicherà poi con la Sua macchina GPU. Questa architettura segue le migliori pratiche e gli standard del settore.

Lei può installare più istanze di Web Proxy SSL sullo stesso GPU Blib. Ogni istanza funziona in modo indipendente e può reindirizzare a un servizio interno o porta diverso.

WebProxy Flow Best Practise
Flusso WebProxy – Migliore Pratica

Esposizione semplice e sicura di un servizio interno a Internet

Questo modello offre un metodo leggero per consentire ai clienti di esporre un servizio interno (HTTP o WebSocket) al pubblico internet tramite il sistema router Trooper.AI. Crea automaticamente un endpoint HTTPS sicuro con un certificato SSL gratuito, inoltrando il traffico a qualsiasi porta interna della Sua macchina.

L’obiettivo è la semplicità: installi un piccolo proxy, specifichi la porta interna e ottenga istantaneamente un URL sicuro e raggiungibile dall’esterno.

Tutto il traffico dal punto finale SSL del Webproxy alla porta pubblica della Sua macchina viene instradato nella nostra rete interna, bypassando completamente l’internet. Questo rappresenta un notevole vantaggio in termini di sicurezza per Trooper.AI.


Caratteristiche principali

1. Punto di accesso HTTPS pubblico

Il Suo servizio interno diventa disponibile sotto un *.secure.trooper.ai sottodominio, instradato attraverso l’infrastruttura Trooper.AI con certificati SSL automatici.

2. Supporto completo per WebSocket

Il template inoltra sia il traffico HTTP standard che le connessioni WebSocket senza alcuna configurazione aggiuntiva.

3. Protezione password opzionale

Se vengono forniti un nome utente e una password, l'endpoint viene protetto con Basic Auth. Lasciare entrambi i campi vuoti disabilita l'autenticazione.

4. Configurazione pulita e minimale

Ogni istanza installata di SSL Web Proxy crea un endpoint proxy dedicato, ascolta su una port esterna assegnata automaticamente e inoltra il traffico al servizio interno configurato.


Come Funziona

Parametri di ingresso

Example config
Configurazione di esempio

Lei configura solo la configurazione del template prima dell'installazione.

La porta esterna verrà assegnata automaticamente e visualizzata accanto al nome del template, proprio come avviene con gli altri template.

🚨 Non utilizzi la porta 443 e non fornire un certificato autofirmato sulla Sua porta!

Flusso interno

  1. Nginx è installato (compresa la compatibilità con htpasswd).
  2. Se l’autenticazione è abilitata, viene creato un file di password.
  3. Una configurazione proxy viene posizionata sotto /etc/nginx/sites-available/trooperai-webproxy-<external_port>
  4. La configurazione inoltrerà tutto il traffico in entrata a http://127.0.0.1:<internal_port>.
  5. Gli header di aggiornamento WebSocket vengono automaticamente inoltrati.
  6. Nginx viene ricaricato e l'endpoint diventa attivo.

Classi di timeout

Tipo di traffico Come viene rilevato Timeout della proxy
Richiesta/risposta HTTP standard Qualsiasi cosa non corrispondente a quanto indicato di seguito 60s (IMPRESETTO)
Chat/Streaming (SSE / NDJSON) Il percorso contiene /api/chat, /chat/completions, /api/generate, /generate, /stream, /events, oppure Accept: text/event-stream / application/x-ndjson - E STA trasmettendo in streaming! (vedi sotto) 10 min (LUNGO)
Scaricamento di file grandi Range header, percorso/suffisso simile a file, Accept: application/octet-stream 30 min (SCARICA)
WebSocket Upgrade HTTP a WS/WSS Nessun timeout di inattività del proxy

Il proxy aggiorna dinamicamente i timeout sulla risposta (ad esempio, se il Suo server invia 206 o Content-Disposition: attachment, passa al timeout DOWNLOAD anche se la richiesta inizialmente non era stata classificata come download).

⚠️ Il timeout lungo sullo streaming funziona solo se il Suo servizio trasmette la risposta in streaming! Le richieste lente o non in streaming possono comunque essere interrotte a 60s. Assicuri inoltre che il TTFT sia inferiore a 60s e che i dati continuino a fluire.!


Certificato SSL gratuito incluso

Una volta attivo, il router di Trooper.AI rileva la porta esposta, emette un certificato SSL gratuito e pubblica il Suo endpoint sicuro.


Esempio di risultato

Example Webproxy success
Esempio di successo del Webproxy

Dato un dominio assegnato da Trooper.AI come ad esempio:

Codice
myapp123-husky-delta.secure.trooper.ai

e una porta proxy esterna assegnata automaticamente (ad es. 12345), con un servizio interno in ascolto sulla porta 8080,

Il flusso di connessione sarà: https://myapp123-husky-delta.secure.trooper.ai -> 12345 -> 8080.

Questo inoltra in modo sicuro il traffico dal pubblico endpoint HTTPS al Suo servizio interno.


Risoluzione dei problemi

Abbiamo raccolto le risposte alle domande più frequenti riguardanti la funzione webproxy. Per assistenza personalizzata, La preghiamo di contattare il nostro team di supporto: Support Contacts.

Dov'è possibile trovare il mio dominio HTTPS?

Assicuri che il Suo servizio interno sia in esecuzione sulla porta desiderata, quindi installi o aggiorni l’istanza corrispondente di Web Proxy SSL. Il dominio assegnato e lo stato di attivazione SSL (indicato da un lock icon) verranno poi visualizzati.

⚠️ Nessun simbolo di lucchetto? L'endpoint viene attivato solo se il Suo servizio interno risponde a / con un codice di stato HTTP compreso tra 200 e 499 entro 1,5 secondi. Un errore 5xx, una connessione rifiutata o una risposta più lenta mantengono l'endpoint inattivo. Servizi protetti da login che restituiscono 401/403 vengono rilevati correttamente.

Il WebProxy supporta UDP e WebSockets?

WebSocket è semplicemente un aggiornamento HTTP(S) — pienamente supportato dal WebProxy, consentendo un’integrazione fluida con le ampiamente utilizzate applicazioni AI dotate di interfacce web.

L'UDP è un protocollo senza stato che non richiede certificati; Lei si connette direttamente tramite hostname:port. La crittografia è gestita a livello applicativo (ad esempio, LiveKit con DTLS). Poiché il WebProxy è basato su HTTP e HTTP funziona su TCP, non può instradare l'UDP — ma non ha comunque bisogno di un proxy per l'UDP. Basta aprire le porte UDP richieste nel Suo firewall.

Posso limitare l’accesso a indirizzi IP specifici?

Il SSL WebProxy di Lei si integra perfettamente con le regole del firewall integrato di Trooper.AI. Per limitare l’accesso a indirizzi IP specifici o intervalli al fine di migliorare la sicurezza, configuri le relative politiche del firewall nel Management Dashboard.

Per una guida dettagliata sull'implementazione di restrizioni IP, consulti la nostra documentazione:🛡️ Trooper.AI Firewall di livello rete personalizzabile

Il Suo servizio interno è HTTP o HTTPS?

È una domanda valida. Internamente, il Suo servizio funziona come un servizio HTTP standard su una porta configurabile, come ad esempio l’8080. Questa porta rimane interna alla Sua istanza di GPU server. Il servizio web proxy installato tramite questo template gestisce la crittografia SSL, fornendo e amministrando automaticamente il certificato SSL per un accesso esterno sicuro. In sostanza, questo template stabilisce una connessione sicura HTTPS tra la Sua porta interna e l’internet pubblico.

Configurazioni esistenti di Nginx

Questo template installa e configura Nginx per instradare il traffico interno sulla Sua macchina GPU. Sebbene non sovrascriva le configurazioni esistenti, la gestione diretta di Nginx sulla Sua macchina GPU non è generalmente raccomandata a causa della potenziale complessità. Valuti se la gestione diretta di Nginx sia necessaria per il Suo flusso di lavoro.

Più istanze di Web Proxy SSL possono essere eseguite in parallelo. Ogni istanza crea la propria configurazione Nginx basata sulla porta esterna assegnata, così da mantenere separate le singole configurazioni del proxy.

Gestione delle richieste bloccate e protezione contro gli attacchi brute-force

Il Secure SSL Proxy include una protezione a livello infrastrutturale per mantenere stabile lo strato di instradamento e proteggere il Suo servizio dal traffico abusivo. Monitora costantemente la salute delle connessioni e i modelli di traffico, e limita temporaneamente le fonti responsabili di fallimenti ripetuti. In questo modo, il proxy può distinguere un guasto reale da un normale funzionamento; il Suo servizio dovrebbe segnalare chiaramente i problemi reali — respingendo o chiudendo la connessione, oppure restituendo un errore 5xx server error quando non è effettivamente disponibile.

L’autenticazione a livello applicativo (ad esempio controlli di accesso o chiavi API che restituiscono 401/403) è gestita dal Suo servizio. Il proxy non blocca intenzionalmente su questi casi, quindi i flussi di autenticazione normali non subiscono interruzioni.

Codici di Errore (Codici E)

Se incontra una pagina di errore durante l’accesso al Suo endpoint, verrà visualizzato un codice di errore unico (ad es. e-code: TP3) nel titolo della pagina. La preghiamo di includere questo codice contattando il supporto — così possiamo individuare la causa immediatamente.

# Stato Significato Cosa può fare Lei
TP1 502 Errore generico di gateway durante il contatto con il Suo servizio. Verifichi che il Suo servizio interno sia attivo e ricarichi dopo alcuni momenti.
TP2 403 Richiesta bloccata da una regola del firewall per il Suo endpoint. Verifichi le impostazioni del suo firewall/allow-list per l'IP e la porta di origine.
TP3 502 Il Suo servizio interno non è raggiungibile. Confermi che il service sta ascoltando sulla porta interna configurata.
TP4 503 L'accesso al Suo servizio è stato temporaneamente bloccato a seguito di errori ripetuti. Aspetti un breve istante, poi ricarichi. Eviti i riavvii automatici lato client.
TP5 502 La connessione al Suo servizio è stata rifiutata, non trovata o scaduta nel tempo. Assicuri che il servizio sia attivo, raggiungibile e risponda sulla porta corretta.

💡 Eviti tentativi di riconnessione automatica aggressivi quando visualizza una pagina di errore. Richieste ripetutamente fallite possono causare un blocco temporaneo (TP4).