Heim > Fragen und Antworten > Hauptteil
In der Entwicklungsphase ist der Front-End-Server localhost:8080 und der Back-End-Server localhost:8088, was domänenübergreifend ist. Daher wird Nginx als Reverse-Proxy verwendet, um alle HTTP-Anfragen, die mit http beginnen, zu konvertieren: //localhost:8080/api in http://localhost:8088/api, die Nginx-Konfiguration ist wie folgt
Das Ergebnis ist immer 404
Verwenden Sie Postman, um die Backend-Schnittstelle zu testen und sie zeigt normal an
Überprüfen Sie den Task-Manager, Nginx läuft
Das Zugriffsprotokoll vonnginx enthält keine Aufzeichnungen und es gibt keine Aufzeichnungen im Fehlerprotokoll. Das Folgende ist der letzte Inhalt des Fehlerprotokolls
Ich weiß nicht, was schief gelaufen ist
曾经蜡笔没有小新2017-05-16 17:09:08
少了一个 /api
根据题主的要求
需要把 http://localhost:8080/api
=> http://localhost:8088/api
但是
location ^~ /api/ {
proxy_pass http://localhost:8088/;
...
}
实现的是 http://localhost:8080/api
=> http://localhost:8088/
所以需要访问 http://localhost:8080/api/api
才可以访问到真实的 端点.
改成
location ^~ /api/ {
proxy_pass http://localhost:8088/api;
...
}
即可