首頁  >  問答  >  主體

javascript - nginx反向代理沒有轉送http請求?

開發階段,前端的伺服器是localhost:8080,後端伺服器是localhost:8088,涉及跨域,所以用nginx做反向代理使http://localhost:8080/api開頭的http請求都轉變成http://localhost:8088/api,nginx設定如下

#結果一直是404

#用postman測試後端接口,顯示正常

查看任務管理器,nginx處於運行狀態

nginx的訪問日誌無記錄,錯誤日誌也無記錄,以下為錯誤日誌最後的內容

#不知道到底是哪裡出了問題

天蓬老师天蓬老师2713 天前536

全部回覆(2)我來回復

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新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 => http://localhost:8088/
    所以需要访问 http://localhost:8080/api/api所以需要存取http://localhost: 8080/api/api 才可以存取到真實的端點.
    改成

    location ^~ /api/ {
        proxy_pass http://localhost:8088/api;
        ...
    }

    即可

    回覆
    0
  • 黄舟

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

    你那個server_name 不是127.0.0.1嗎?
    localhost不一定就代表127.0.0.1吧?

    回覆
    0
  • 取消回覆