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 y HTTPS_PROXY los leen automáticamente muchos SDK. Un valor obsoleto en el entorno gana en silencio al argumento que pasaste en el código.
Los proxies corporativos y los equipos de inspección TLS afectan de forma distinta a las pilas HTTP de las bibliotecas y a curl. Un error de certificado en el SDK con un curl limpio es la firma.
Las claves pueden estar restringidas por IP de origen. Tu portátil está permitido y el servidor no, y el error es un fallo de autorización que no se parece en nada a un problema de IP.
Haz que la aplicación imprima lo que realmente va a usar:
# 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'
Ejecuta el curl desde la misma máquina y la misma shell que la aplicación. Reproducirlo desde tu portátil prueba otra ruta de red y no demuestra nada.
Revisado por última vez el 2026-10-01. Escrito a partir de problemas diagnosticados en una pasarela compatible con OpenAI en producción, no recopilado de otras webs.