Nginx實現前端訪問后端本地接口


Nginx配置兩個地方就行:
先是配置好自己項目的服務,確保自己的項目能運行:

        location / {
            root    /web/xiangmu/public;  // 本地項目的路徑
            index index.html index.php;
        }

再是配置接口請求后端:

     location /api/ {
            proxy_pass http:// 192.168.1.1;(后端接口地址,端口號也要注意哦,不是80的記得加上端口號)
            proxy_set_header: Host $host;
        }

注意點(后端接口配置):

如果你的配置出現404了,這個時候你可以對照檢查下面的問題是不是你遇到的。

 1. proxy_pass 地址后面要不要加/取決於匹配的 /api/ 作不作為你uri的一部分,如果 /api/ 是其中一部分,則不需要帶上" / "; 反之帶上。加了" / "相當於是絕對根路徑,nginx 不會把location 中匹配的路徑 /api/ 帶上。
       如果你的配置跟上面一樣,同時請求a.html頁面:
       請求地址應該要是這樣的: http:// 192.168.1.1/api/a.html;
       如果配置是這樣:proxy_pass http:// 192.168.1.1/;(后端接口地址),請求接口地址應該是這樣: http:// 192.168.1.1/a.html。

 2. proxy_pass的地址記得在hosts文件做ip映射,建議直接使用域名對應的ip地址。

 3. location 中 ~ (區分大小寫)與 ~* (不區分大小寫)標識均為正則匹配。如果你不確定,請在location后面加上 location ~* /api/ { }這樣的配置 不區分 api三個字母的大小寫。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM