Folosesc NGINX pentru proxy_pass
toate cererile cu prefix /auth/
către un server api nodejs la localhost:3000
.
Am acest singur fișier de configurare /etc/nginx/sites-enabled/default3.conf
:
Server {
locație /auth/ {
rescrie /auth/(.+) /$1 pauză;
proxy_pass http://127.0.0.1:3000;
proxy_redirect dezactivat;
proxy_set_header HOST $gazdă;
}
}
Funcționează bine pentru majoritatea solicitărilor mele (în loc de GET http://localhost:3000/logout
, OBȚINE http://localhost/auth/logout
ar funcționa conform așteptărilor), cu excepția acestei solicitări GET http://localhost/auth/docs
, care ar trebui să se mapeze la http://localhost:3000/docs
dar am primit o redirectionare:
HTTP/1.1 301 mutat permanent
Server: nginx/1.18.0 (Ubuntu)
Data: miercuri, 15 decembrie 2021 01:59:02 GMT
Tip de conținut: text/html; set de caractere=UTF-8
Lungimea conținutului: 175
X-Powered-By: Express
Acces-Control-Permite-Origine: *
Politica de securitate a conținutului: default-src 'none'
X-Content-Type-Options: nosniff
Locație: /docs/
apoi un 404 NOT FOUND în schimb:
HTTP/1.1 404 Nu a fost găsit
Server: nginx/1.18.0 (Ubuntu)
Data: miercuri, 15 decembrie 2021 03:20:26 GMT
Tip de conținut: text/html
Transfer-Codificare: fragmentat
Conexiune: păstrați-vă în viață
Codificarea conținutului: gzip
Se pare că atunci când GET http://localhost/auth/docs
, cererea a lovit serverul meu nodejs, dar apoi a fost redirecționată înapoi la http://localhost/docs
, dar cum ar putea fi posibil acest lucru? Inca pot GET http://localhost:3000/docs
fara probleme.
ACTUALIZAT
http://localhost:3000/docs
este locul în care servesc Swagger UI pentru API-ul serverului, folosind modulul npm swagger-ui-express
.