目標:站起來服務將接受請求使用nginx將請求代理到兩個不同的服務?
http://foo.com/a
和轉身代理該請求將兩種不同的服務
http://bar.com/b
http://baz.com/c
的背景是,我使用的是服務,可以通過接受發佈請求與其他第三方服務集成,然後通過發佈到URL將事件回調發布到該第三方服務。麻煩的是,它只支持配置中的單個URL,因此以這種方式集成多個服務變得不可能。
我已經研究過其他服務,如webhooks.io(waaaay對於中等流量而言過於昂貴)和reflector.io(測試版 - 以適量的流量摔倒),但到目前爲止沒有任何東西符合我的需求。所以我開始爲自己的服務而努力,我希望儘可能的放手。感覺就像nginx的應該是能夠做到這一點......
我碰到下面的代碼片段,其別人歸類爲一個錯誤,但感覺就像我想要的東西開始:
upstream apache {
server 1.2.3.4;
server 5.6.7.8;
}
...
location/{
proxy_pass http://apache;
}
而不是輪詢請求到Apache,這顯然會發送相同的請求到這兩個Apache服務器,這聽起來很有希望。麻煩的是,它將它發送到兩臺服務器上的相同路徑。在我的情況下,這兩種服務將具有不同的路徑(/ b和/ c),並且它們與入站請求(/ a)路徑都不相同(/ a)
因此...任何指定每個服務器在上游配置,還是其他一些聰明的方式做到這一點?
不錯!這做了我想要做的事情,不幸的是,我之前找到的上游作品似乎並未傳播請求。它看起來像循環它們,因爲只有其中一個獲得請求。不知道這是否是一個關閉的bug。 – Gatos