Heim  >  Fragen und Antworten  >  Hauptteil

Nginx-Reverse-Proxy leitet keine HTTP-Anfragen weiter?

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

天蓬老师天蓬老师2713 Tage vor537

Antworte allen(2)Ich werde antworten

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新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;
        ...
    }

    即可

    Antwort
    0
  • 黄舟

    黄舟2017-05-16 17:09:08

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

    Antwort
    0
  • StornierenAntwort