Nginx

Nginx 作為 GeoIP Global LoadBalancer 和與應用伺服器的實際距離

  • September 22, 2016

我的客戶正在使用 Magento 作為其電子商務全球解決方案。主要國家是美國/歐盟/中國。目前意大利只有 1 台虛擬機,服務於所有流量。

我想在 AWS 或 Google Cloud 上創建 3 個虛擬機,每個國家一個,這在這個階段並不重要。

maine DNS 1.2.3.4 應該指向 www.mydomain.it ,其中 1.2.3.4 是配置了 MaxMind GeoIP 模組的 nginx VM(在歐洲數據中心)。

這個網站為每個國家/地區提供多種語言和多種目錄/價格/數量,並且使用 nginx,我可以將必要的標頭和變數傳遞給 Magento,以便 cms 知道向來自不同國家/地區的客戶顯示哪種語言。

我的問題是:當流量到達 nginx 虛擬機時,它將 proxy_pass 到例如美國伺服器,美國伺服器是否會真正為美國流量提供服務,或者美國流量將始終通過 nginx 虛擬機流動,因此它會滯後並變慢?

我的目標是根據訪問者國家將流量轉發到對應的虛擬機,所以這個虛擬機將提供流量而不是 nginx 虛擬機

如果您閱讀此問題的第一個答案https://stackoverflow.com/questions/25678049/how-to-setup-global-load-balancing-using-digital-ocean-dns-and-nginx您將看到幾種方法實現這一點,30x Redirect、Anycast(利用 BGP 路由)和 Geo-DNS。Route53(@frederico-sierra 提到)本身是不夠的,您必須添加 CloudFront。

引用自:https://serverfault.com/questions/804741