Nginx 透過 HTTP Method 來做 Proxy Pass
目的
開發一套系統,把資料處理 (POST/PUT/DELETE) 與查詢 (GET) 的功能分開做
變成提供兩套服務,但對 Client 來說,還是需要整合成相同的 Uri
所以就透過 Nginx 來做到前端介面的整合
範例
1 | location / { |
2 | if ($request_method !~* GET) { |
3 | # For Write Requests |
4 | proxy_pass http://writers; |
5 | } |
6 | # For Read Requests |
7 | proxy_pass http://readers;} |
結語
雖然說,Nginx 其實並不希望你使用 if (If Is Eval),不過對工程師來說,能簡單的做到效果是最重要的!!!
Reference
Stackoverflow: nginx proxy_pass based on whether request method is POST, PUT or DELETE