簡體   English   中英

如何使用清漆頁面緩存在magento上啟用geoip

[英]How to Enable geoip on magento with varnish page cache

我目前在線擁有3個具有3個不同域的商店,並在centos上運行Apache和varnish(使用Phoenix頁面緩存擴展名)的magento

一家商店在英國,另一家在愛爾蘭,另一家在美國

麻煩是(示例)如果某個美國用戶訪問了uk store,我希望收到通知該用戶轉到頁面上的正確商店,(我不希望他們被自動重定向)

我能夠使用maxmind數據庫進行php-pecl-geoip使其工作,但是隨着我網站上用戶的增加,我不得不開始使用清漆。

如何使用清漆實現此功能,以便知道用戶來自哪個國家/地區,以便向用戶顯示消息以查看其相關網站?

您可以在Magento中使用JSON操作結果創建Crontroller。 然后您可以使用JavaScript檢查這些內容並輸出結果。

不要忘記將您的控制器添加到Varnish的withlist中。

古納(Gunah),我想您錯過了這里的重點。 當將Varnish放在Apache的前面時,PHP將看到的客戶端IP將始終是Varnish的IP(如果位於同一服務器中,則為127.0.0.1)。

molleman,在這種情況下,您需要查看Varnish設置的X-Forwarded-For標頭,以獲得真實的客戶端IP。 您可以在default.vcl中查看Varnish的設置方式:

if (req.http.x-forwarded-for) {
    set req.http.X-Forwarded-For =
    req.http.X-Forwarded-For + ", " + client.ip;
} else {
    set req.http.X-Forwarded-For = client.ip;
}

如果您的Web服務器在負載均衡器后面,那么您需要做更多的工作。 請參閱此處以獲取解決方案: Varnish從X-Forwarded-for中刪除了公共IP

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM