Nginx
如何實現基於完整url路徑的DNS IP
我知道 DNS 只解析域,但讓我解釋一下我的問題,我想知道如何解決這個特殊要求。
我有來自行銷部門的請求,希望將世界各地的網站融合到一個域中。
例如,當你有:
www.somedomain.com.mx www.somedomain.co.uk www.somedomain.co.jp
現在他們想要這個:
www.somedomain.com/mx www.somedomain.com/uk www.somedomain.com/jp www.somedomain.com
但是由於由於延遲要求我們在不同的位置有伺服器,他們希望:
www.somedomain.com goes to the US Server www.somedomain.com/mx goes to the US Server www.somedomain.com/uk goes to the UK Server www.somedomain.com/jp goes to the Japan Server
我可以將 nginx 設置為反向代理,例如在美國:
- 日本使用者訪問 www.somedomain.com/jp。
- Nginx 在 www.somedomain.com 伺服器(美國)進行響應,然後從日本伺服器請求內容,然後將響應轉發給日本使用者。
所以:
Japan user -> US nginx -> Japan server -> US nginx -> Japan user
這將導致更多的延遲。
是否可以請求 www.somedomain.com/jp 回答作為美國伺服器鏡像但位於日本的伺服器的 IP,而 www.somedomain.com/uk 回答英國鏡像伺服器的 IP ?
所以最終的基礎設施是這樣的:
www.somedomain.com mirrored in Japan / US / UK
- 當使用者請求
www.somedomain.com/uk
時,請求會發送到www.somedomain.com
位於的 IP 服務,該 IP 服務UK
又會向託管英國站點但也位於英國的另一個 IP 發出內部請求。- 當使用者請求時,請求會發送到位於 中
www.somedomain.com/jp
的 IP 服務,而 IP 服務又會向託管日本站點但也位於日本的另一個 IP 發出內部請求。www.somedomain.com``Japan
不,這不能僅使用 DNS 來完成。
您應該考慮以下幾點:
- 一個 CDN
- DNS 查詢的地理路由(例如,AWS Route 53支持此)