Nginx-Reverse-Proxy leitet keine HTTP-Anfragen weiter?
天蓬老师
天蓬老师 2017-05-16 17:07:08
0
2
530

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 von

nginx 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

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

Antworte allen(2)
曾经蜡笔没有小新

少了一个 /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;
    ...
}

即可

黄舟

你那个server_name 不是127.0.0.1吗?
localhost不一定就代表127.0.0.1吧?

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!