This question already has an answer here:

I'm currently in China, and accessing the Internet via a VPN in the USA. When I access Google maps or other location-based web services, they all show my location as that of the VPN server. However, when I accessed a web site - http://www.ikea.com - the site redirected me to the local China site.

I've installed NoScript, Ghostery, set enable.geolocation=false, cleared all history and cookies, and verified that all traffic is sent via the VPN gateway, but despite all this, I'm always routed to the local site.

How is this being done??

marked as duplicate by Adi, NULLZ, AJ Henderson, TildalWave, Scott Pack Jun 4 '13 at 15:09

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • What language is your browser in? Some websites check the browser language to send you to the appropriate website, maybe Ikea uses this method too. – Stan Jun 3 '13 at 10:37
  • My browser (Firefox) shows 2 languages: en-US and en. – Paul484 Jun 3 '13 at 11:00
  • Try installing FireBug and inspecting the traffic between you and e.g. ikea.com . Even better if you can sniff the traffic from the browser to anywhere (e.g. the Google servers). I don't believe in magic, so there must be something that is either spontaneously sent, or queried of your browser, and that something has to travel through your connection. – LSerni Jun 3 '13 at 11:16
  • @Adnan Since Google Maps is showing the VPN endpoint, it's a different mechanism at play. – Gilles Jun 3 '13 at 11:43

Something isn't adding up here. I've tried so many combinations and I wasn't able to reproduce your situation. This leads me to believe that your VPN provider is leaking your original IP address.

1. I opened ikea.com using a clean browser (fresh portable Firefox). It took me to to the default locale selection page.

enter image description here

2. Using another clean browser, I opened ikea.com using a Chinese proxy, I was redirected to ikea.com/cn/en

enter image description here

3. Using the same browser from step #2 (to ensure that any detection cookies or configurations are preserved) I went to ikea.com using my normal connection. I was taken to the default locale selection page.

4. Again, I used another Chinese proxy and I was redirected to ikea.com/cn/en.

5. Finally, I tried a U.S. proxy, and I was taken to the same locale selection page.

You're either falsifying or withholding some information, or your VPN provider is somehow revealing your IP.

In all cases I used the same browser language configurations you're using

My browser (Firefox) shows 2 languages: en-US and en.

enter image description here


I've just performed another test. Using my normal connection, I've disabled JavaScript to make sure that there's no JavaScript hocus pocus going on. Then I modified the HTTP Accept-Language header to zh-CN,zh. I was still taken to the locale selection page.

It's safe to assume that IKEA website is pretty dumb and it's only using the IP address to determine the locale.


Though not likely relevant for a VPN, when using a proxy one should always check the site http://simplesniff.com/ from the proxy. Under the Your HTTP headers from the current request are: section, look for these two values:


One will be your proxy IP, the other will be your "real" IP address, which the proxy is leaking. Most popular proxies, such as Squid, can be configured not to leak.

  • While true for proxies, Proxy != VPN – DKNUCKLES Jun 3 '13 at 14:40
  • @DKNUCKLES: You are right, I'm not sure how I conflated the two. I will edit the answer to make that clear but leave it up as no other answer mentions the X-FORWARDED-FOR header and it is rather important for this purpose, but unfortunately not well known. – dotancohen Jun 3 '13 at 15:27

Not the answer you're looking for? Browse other questions tagged or ask your own question.