I would say @Insyte is onto something when he/she talks about the issue being a DNS resolution issue .. which then means the problem is packet rewriting (read @Insyte post again for that explanation).
But what @Insyte didn't suggest was an easy solution :)
So, assuming you have the following things setup (which u did say is setup .. so i'm just confirming / clarifying )
- Public Ip: 201.206.x.y
- Private IP; 192.168.0.50
- Port forwarding for all 80 (and 443 if u're doing SSL) on ip 201.206.x.y -> 192.168.0.50
you then type the following, in your browser ... while you're in your internal network
http://www.yourwebsite.com
and the error occurs.
So, solution: hack your hosts file :) Add this to your hosts file.
192.168.0.50 www.yourwebsite.com
and then restart your browser, enter the url and viola! it's working. So this means, your browser doesn't rely on your DNS to resolve your domain to the ip. Instead, we're overriding this and saying 'please browser, just goto my internal iP for that domain name, instead of asking DNS for the IP addy'.
If you're in an office, then u can get all the people who need to access this internal website, to hack their hosts file OR if u have an internal DNS, then u can add an entry into that. Another idea is to have an internal proxy server (for all web surfing, etc) and then hack the hosts file on the PROXY SERVER :P This means your browser will say 'Proxy, can u please get me the resource http://www.mywebsite.com' and the proxy the says 'sure .. and because i've been told to ignore dns for that domain, i'll just give the ip which has been hardcoded in my hosts file'.
Viola!
UPDATE: what's hacking the hosts file? on windows, goto C:\windows\system32\drivers\etc\hosts (notice, there's no extension on that file).
if you open that file up in notepad, u can then see any entries that are used to override DNS. If u wish to update that file, you will need to open Notepad (or whatever program you're using to edit the file) with Administrator rights - otherwise u can't save the file (and u get an error message).