Am două aplicații nodejs în spatele unui proxy invers nginx. Iată configurația mea nginx,
#main_api
Locație / {
proxy_pass http://localhost:3000;
}
#chat_api
locație /socket.io/ {
proxy_set_header X-Real-IP $adresă_la distanță;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Gazdă $http_host;
proxy_set_header X-NginX-Proxy false;
proxy_pass http://localhost:3001/socket.io/;
proxy_redirect dezactivat;
proxy_http_versiunea 1.1;
proxy_set_header Actualizare $http_upgrade;
proxy_set_header Conexiune „upgrade”;
}
....
//ssl stuffs
Pot trimite cereri HTTP normale cu corpul JSON. Dar când trimit multipart/formdata
, nginx elimină câmpuri din corpul solicitării mele. Solicitarea mea conține câteva câmpuri de text și un fișier. Dacă accesez HTTPS
versiunea URL-ului meu API, numai fișierul este ignorat de nginx, dar atunci când HTTP
versiunea este accesată, câmpurile de text sunt, de asemenea, ignorate, iar mine POST
cererea este convertită în OBȚINE
cerere.
Aici este jurnalul meu de acces nginx,
103.160.233.51 - - [28/May/2022:07:23:51 +0000] „POST /api/files/upload_dp HTTP/1.1” 500 26 „-” „PostmanRuntime/7.29.0”
103.160.233.51 - - [28/May/2022:07:24:04 +0000] „POST /api/files/upload_dp HTTP/1.1” 301 178 „-” „PostmanRuntime/7.29.0”
103.160.233.51 - - [28/May/2022:07:24:04 +0000] „GET /api/files/upload_dp HTTP/1.1” 401 43 „http://myapiurl.com/api/files/upload_dp” „ PostmanRuntime/7.29.0"
Și jurnalul de erori nginx este gol.
Ce opțiune de configurare nginx îmi lipsește?