namannagar89 commented on issue #13736:
URL: https://github.com/apache/apisix/issues/13736#issuecomment-5066839634

   ### Correction / refinement: not HTTPS-specific — reproduces over plain HTTP 
too
   
   Follow-up testing shows the crash is **not** tied to TLS/HTTPS or to the 
Vertex token path. It reproduces whenever ai-proxy **successfully connects to a 
reachable upstream and processes the request/response**, regardless of scheme:
   
   | Upstream | Result |
   |----------|--------|
   | Unreachable endpoint (`http://127.0.0.1:1`, connection refused) | no crash 
(graceful HTTP 500) |
   | Reachable **HTTP** endpoint (in-cluster echo server returning OpenAI-style 
JSON) | **worker `exited on signal 4`** (reproduced 2/2) |
   | Reachable **HTTPS** endpoint (`api.openai.com`, Vertex) | **worker `exited 
on signal 4`** |
   
   So the trigger is a **successful upstream connection + ai-proxy's 
request/response handling**, not the TLS handshake and not Vertex JWT signing.
   
   ### Simplified, provider-agnostic reproduction (no real LLM or TLS needed)
   
   1. Run any plain-HTTP server that returns an OpenAI-style JSON body, e.g.:
      ```
      http-echo -listen=:5678 
-text='{"id":"x","object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"hi"},"finish_reason":"stop"}],"usage":{"total_tokens":2}}'
      ```
   2. Route it through ai-proxy over HTTP:
      ```jsonc
      
{"uri":"/ai","plugins":{"ai-proxy":{"provider":"openai","auth":{"header":{"Authorization":"Bearer
 x"}},
        
"options":{"model":"gpt-4"},"override":{"endpoint":"http://<echo-host>:5678/v1/chat/completions"}}},
        "upstream":{"type":"roundrobin","nodes":{"127.0.0.1:1":1}}}
      ```
   3. `POST /ai` with `{"messages":[{"role":"user","content":"hi"}]}` → nginx 
worker `exited on signal 4`, client gets empty reply.
   
   This should make it reproducible without any external provider/credentials. 
Title/description effectively broaden from "outbound HTTPS request" to "any 
successful outbound request the plugin then processes."


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to