The reason for this is that your DNS resolver on your local machine is resolving the external name to an external IP address and therefore your web client is trying to connect to a machine on the local network using the external IP address. If you put an entry in your hosts file pointing the external name to the internal private IP address then it will work by name.
The PIX firewall addresses this problem by doing DNS doctoring. For example, if the firewall has a static IP mapping for a web server and a client on the local network looks up the IP address for that server but using an external DNS server, when the DNS reply comes back through the PIX it realises that the client is trying to resolve the external IP address of a local machine and changes the DNS reply packet so that the external name is resolved to the local IP address of the server and not the 'global' address that people outside of the local network would use. However, I don't know of any other firewall that has this feature.
Chris.
**********************
Chris Andrew, CCNA, CCSA
chris@iproute.co.uk
**********************