curl returns 200 and the SDK returns 401, 403 or a connection errorIt works on your laptop and fails on the serverIt worked before you added the key to a secrets managerThe app's error mentions a host you did not configureOPENAI_BASE_URL, OPENAI_API_KEY e HTTPS_PROXY vengono lette automaticamente da molti SDK. Un valore obsoleto nell'ambiente prevale in silenzio sull'argomento passato nel codice.
I proxy aziendali e i dispositivi di ispezione TLS influiscono in modo diverso sugli stack HTTP delle librerie e su curl. Un errore di certificato nell'SDK con un curl che funziona è la firma.
Le chiavi possono essere limitate per IP di origine. Il tuo portatile è autorizzato, il server no, e l'errore è un rifiuto di autorizzazione che non assomiglia per niente a un problema di IP.
Fai stampare all'applicazione ciò che sta davvero per usare:
# Python
import os
print(os.getenv('OPENAI_BASE_URL'), os.getenv('HTTPS_PROXY'))
print(client.base_url)
# then reproduce curl from inside the same host
curl -s -o /dev/null -w '%{http_code}\n' \
'YOUR_BASE_URL/models' -H 'Authorization: Bearer YOUR_KEY'
Esegui il curl dalla stessa macchina e dalla stessa shell dell'applicazione. Riprodurlo dal tuo portatile verifica un altro percorso di rete e non dimostra nulla.
Ultima verifica: 2026-10-01. Scritto a partire da problemi diagnosticati su un gateway compatibile con OpenAI in produzione, non raccolto da altri siti.