2013-07-01 46 views
0

我最近在我的服務器上安裝了清漆,以減輕工作量。然而,我的一個網站廣泛使用HTML5的'navigator.geolocation.getCurrentPosition()'函數,並且在上述不可用時也退回安裝到nginx中的maxmind數據庫。如何獲得使用清漆的HTML5和Maxmind凝膠定位功能?

我可以理解爲什麼nginx/maxmind版本無法正常工作,因爲它依賴於nginx服務器知道您來自哪個IP,並且因爲varnish坐在前面,請求可能甚至不會達到nginx。

但是,爲什麼HTML5地理定位功能不起作用?我認爲這純粹是客戶端,應該不受Web服務器的影響?

回答

0

爲了讓Nginx Http GeoIP模塊在代理之後工作,您需要將代理服務器的IP地址傳遞給geoip_proxy directive

我不知道我們是否有足夠的信息來推測爲什麼W3C地理定位功能不起作用。正如你所建議的那樣,當你的站點位於代理服務器後面時,沒有明顯的理由說明它不應該工作。

另外,您可能想要查看MaxMind's GeoIP2 JavaScript service,它會嘗試使用W3C地理定位,如果不可用,則會退回到Web服務。 MaxMind提供了一個可以滿足您需求的免費選項。