Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

IIS7 Website not working for external users

Posted on 2013-05-20
9
Medium Priority
?
1,205 Views
Last Modified: 2013-07-06
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
0
Comment
Question by:jasonuocs
  • 4
  • 3
  • 2
9 Comments
 
LVL 4

Expert Comment

by:mouseware
ID: 39182795
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
 
LVL 16

Expert Comment

by:Chris H
ID: 39182797
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
 
LVL 4

Expert Comment

by:mouseware
ID: 39182807
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
Get your Disaster Recovery as a Service basics

Disaster Recovery as a Service is one go-to solution that revolutionizes DR planning. Implementing DRaaS could be an efficient process, easily accessible to non-DR experts. Learn about monitoring, testing, executing failovers and failbacks to ensure a "healthy" DR environment.

 
LVL 2

Author Comment

by:jasonuocs
ID: 39182810
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
 
LVL 2

Author Comment

by:jasonuocs
ID: 39182830
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
 
LVL 4

Expert Comment

by:mouseware
ID: 39182832
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
 
LVL 2

Author Comment

by:jasonuocs
ID: 39182848
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
 
LVL 16

Accepted Solution

by:
Chris H earned 2000 total points
ID: 39188010
http://forums.asp.net/t/1378409.aspx/1

That error sounds like a programming issue.
0
 
LVL 2

Author Closing Comment

by:jasonuocs
ID: 39303643
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

Featured Post

Ask an Anonymous Question!

Don't feel intimidated by what you don't know. Ask your question anonymously. It's easy! Learn more and upgrade.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The core idea of this article is to make you acquainted with the best way in which you can export Exchange mailbox to PST format.
Mailbox Corruption is a nightmare every Exchange DBA wishes he never has. Recovering from it can be super-hectic if not entirely futile. And though techniques like the New-MailboxRepairRequest cmdlet have been designed to help with fixing minor corr…
To show how to generate a certificate request in Exchange 2013. We show this process by using the Exchange Admin Center. Log into Exchange Admin Center.:  First we need to log into the Exchange Admin Center. Navigate to the Servers >> Certificates…
In this Micro Video tutorial you will learn the basics about Database Availability Groups and How to configure one using a live Exchange Server Environment. The video tutorial explains the basics of the Exchange server Database Availability grou…
Suggested Courses

886 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question