What you need to get the server redirect correct is the following addition to your nsd.tcl file:
# If you want your web domain name to be www.example.com
# set up the following in you nsd.tcl file:
# ns_section "ns/server/${servername}/module/nssock"
# ns_param port 8000 ;# Actual private port
# ns_param hostname www.example.com ;# Internet Hostname
# ns_param address 192.168.1.2 ;# Actual private ip
# ns_param location http://www.example.com ;# Protocol://Hostname
# The location parameter is essential for automatic redirects and for proper
# use of [ns_conn location], otherwise redirect would go to
# http://www.example.com:8000
The example is from a tcl proxy module:
tclvhr. You are essentially missing the location parameter.