IIS7 Website not working for external users

Hi All,

We are having issues accessing a website from an external address even though I have modified the Firewall settings & port forwarded the required port to this server.

We have a working site on http://server:801/address...
when we try to access via http://publicaddress.com:801/address... we receive an error in the application page
again if we try to access via the following:
when we try to access via http://192.168.1.1:801/address... we receive an error in the application page (This is the local address of the server).

I suspect we need to add the bindings to the site to make this available on either the local IP address or the external website address? I have right clicked the site then added these bindings without luck. Is there somewhere else I need to add these?

Just to run through

Server is running 2008r2
Local fqdn & port site working OK
Local IP & port not working
External FQDN & port not working.

The External Address has its A records etc pointing to our servers public IP address & I can confirm the the port through the firewall is working correctly.

Any Ideas?

Thanks
LVL 2
jasonuocsAsked:
Who is Participating?
 
Chris HInfrastructure ManagerCommented:
http://forums.asp.net/t/1378409.aspx/1

That error sounds like a programming issue.
0
 
mousewareCommented:
are you hosting multiple sites? if not remove the bindings and make sure the webservice is listening on all interfaces, then regardless it should answer requests by name or ip...
0
 
Chris HInfrastructure ManagerCommented:
That should be correct.  Can you issue a get command via port 801 remotely and see if it responds?  

Your A record should be:
www.google.com -> public IP of server

Your Binding should be:
www.google.com  |   Port 801   |  *

Your firewall should be doing passthrough NAT from external request Port 801 -> web server Port 801

You should be entering this into your external browser:
http://www.google.com:801
0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

 
mousewareCommented:
http://technet.microsoft.com/en-us/library/cc753195(v=ws.10).aspx

basically if you are sharing one ip address with multiple sites, you need the host headers to contain the site name so IIS knows which site to serve. if you access by IP there are no host headers specified so iis doesn't know which site to go to, so you usually get the default website, or none if you remove the default bindings...
0
 
jasonuocsAuthor Commented:
Hi Mouseware,

I have disabled the other sites. Do I actually need to remove the bindings?

Stopping the other sites still gives me the same errors
0
 
jasonuocsAuthor Commented:
ok...

Within the site bindings I have
Type - Host Name -               Port - IP Address - Binding Info
http -  server          -               801  - *                 - BLANK
http -  192.168.1.1 -               801 -  *                  - BLANK
http -  publicaddress.com -  801 -  *                  - BLANK

PUBLICADDRESS.COM (A & MX records pointing to Public IP address of the Network/Router)
NAT port redirection of Port 801 to 192.168.1.1

Although the end goal is to access the site via http://publicaddress.com:801/ I am not able to view the site & receive the same error if I try to access via http://192.168.1.1:801/ this removes the publicdomain.com & firewall at present I believe. I feel once I know how to get the http://192.168.1.1:801/ working I should be able to replicate this to get the ext address working.

Thank you for your help.
0
 
mousewareCommented:
yeah, but for your testing, you just need to use the correct bindings, and on the "test" machine edit the hosts file to resolve the internal IP... example:

IIS listening on 192.168.1.1, bindings for "My Site Website":

www.mysite.com => http 801
mysite.com => http 801

on your client when going to http://192.168.1.1:801, you are not sending http host header names, so IIS doesn't know what to do with it. so to fix that edit your hosts file on that workstation (c:\windows\system32\drivers\etc\hosts) and do:

192.168.1.1 mysite.com
192.168.1.1 www.mysite.com

then try to access the site again by name. and it should work. External sounds like maybe a www vs non www mix up?
0
 
jasonuocsAuthor Commented:
OK still no luck sorry.

I have edited the hosts file on a workstation within the same lan as above.
I have confirmed when I ping mysite.com & www.mysite.com it replies with 192.168.1.1
I then goto http://mysite.com:801/ or http://www.mysite.com:801/ I still get the same error:

Invalid URI: The URI is empty.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.UriFormatException: Invalid URI: The URI is empty.

If I goto http://server:801/ site comes up correctly
0
 
jasonuocsAuthor Commented:
Spoke with the software vendors & choward16980 was right they had not updated their program to point to the right place. Thanks to everyone else that tried to help.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.