Fabio技术手册(2):部署
fabio的主要用例是將來自internet的HTTP(S)和TCP請求分發給前端(FE)服務,后者可以處理這些請求。在這個場景中,前端提供服務然后使用Consul中的服務發現特性來查找它們需要的后端(BE)服務,以便為請求提供服務。
這意味著fabio目前沒有用作FE-BE或BE-BE路由器來在服務之間路由通信,因為Consul的服務發現已經解決了這個問題。話雖如此,沒有什么能阻止fabio被這樣使用。這只是意味著我們沒有這樣做。
直接部署
在下面的設置中,fabio被配置為監聽公共ip,可以選擇終止一個或多個域(每個域一個ip)的SSL通信。
+--> service-a| internet -- HTTP/HTTPS --> fabio -- HTTP --+--> service-b|+--> service-c為了擴展fabio,您可以將其與前端服務一起部署,前端服務提供高可用性并分配網絡帶寬。
+- HTTP/HTTPS -> fabio -+- HTTP -> service-a (host-a)| | internet --+- HTTP/HTTPS -> fabio -+- HTTP -> service-b (host-b)| |+- HTTP/HTTPS -> fabio -+- HTTP -> service-c (host-c)在已有的網關后
在下面的設置中,fabio被配置為接收來自現有網關的所有傳入流量,該網關也終止了一個或多個域的SSL。
+--> service-a| internet -- HTTP/HTTPS --> LB -- HTTP --> fabio -- HTTP --+--> service-b|+--> service-c同樣,為了擴展fabio,您可以將其與前端服務一起部署,前端服務提供高可用性并分配網絡帶寬
+- HTTP -> fabio -+-> service-a (host-a)| | internet -- HTTP/HTTPS --> LB -+- HTTP -> fabio -+-> service-b (host-b)| |+- HTTP -> fabio -+-> service-c (host-c)Amazon ELB
您可以在Amazon ELB后面部署fabio,并啟用代理協議支持來獲取客戶端的遠程地址和端口。
+- HTTP w/PROXY proto -> fabio -+-> service-a (host-a)| | internet -- HTTP/HTTPS --> ELB -+- HTTP w/PROXY proto -> fabio -+-> service-b (host-b)| |+- HTTP w/PROXY proto -> fabio -+-> service-c (host-c)Amazon API 網關
您可以將fabio部署為Amazon API網關的目標。
internet -- HTTP/HTTPS --> API GW -+- HTTP -> fabio -+-> service-b (host-b)或支持代理協議的ELB:
+- HTTP w/PROXY -> fabio -+-> service-a (host-a)| | internet -- HTTP/HTTPS --> API GW --> ELB -+- HTTP w/PROXY -> fabio -+-> service-b (host-b)| |+- HTTP w/PROXY -> fabio -+-> service-c (host-c)您可以使用客戶端證書對API網關的調用進行身份驗證。這要求您在fabio上配置一個使用有效證書的HTTPS監聽器。
internet -- HTTPS --> API GW -+- HTTPS w/client cert -> fabio -+-> service為了使fabio能夠驗證Amazon生成的證書,您需要配置aws.apigw.cert.cn,如下所示:
proxy.addr = 1.2.3.4:9999;your/cert.pem;your/key.pem;api-gw-cert.pem aws.apigw.cert.cn = ApiGatewayapi-gw-cert.pem是在AWS管理控制臺生成的證書。您的/cert.pem和/key.pemis是HTTPS證書的證書/密鑰對。由于Amazon API網關證書沒有設置CA標志,fabio需要信任它們以便客戶端證書身份驗證工作。否則,您將得到一個TLS握手錯誤:驗證客戶端證書失敗。
注意:在1.2版和以后的支持動態證書存儲的版本中,不會支持aws.apigw.cert.cn參數。您將不得不將caupgcn=ApiGateway參數添加到證書源配置中。有關詳細信息,請參閱證書存儲。
總結
以上是生活随笔為你收集整理的Fabio技术手册(2):部署的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Fabio技术手册(1):概述和快速上手
- 下一篇: GO标准库—命令行参数解析FLAG