39
votes

Ok, so here is the scenario:

I have computer A inside my local network running IIS 7. I added a new website, let's say samplesite.local, through IIS Manager, and edited the hosts file inside %systemroot%\system32\drivers\etc\ with this new line:

127.0.0.1 samplesite.local

So, in a browser running in computer A, if I type samplesite.local in the address bar and hit Enter, everything works fine. I can access the website.

Now I wanted to access this website from other local computers, say, computer B or an iPad, not from the outside world, but from inside the same local network.

Any thoughts?

Edit: Computer A's IP is 192.168.1.100, and samplesite.local is running on port 80. However, if I type 192.168.1.100 in any computer's browser's address bar, I'm taken to the default IIS website, the one with the IIS logo, whose physical address is C:\inetpub\wwwroot\, not to samplesite.local.

5
Were you able to resolve this? I have the same problem - Jackson
@Jackson You might not need to do anything, since you are using the same network. Maybe, the best way to check, is from the hosting machine, switch off the windows firewall, and try to access again - Jacky

5 Answers

42
votes

Add two bindings to your website, one for local access and another for LAN access like so:

Open IIS and select your local website (that you want to access from your local network) from the left panel:

Connections > server (user-pc) > sites > local site

Open Bindings on the right panel under Actions tab add these bindings:

  1. Local:

    Type: http
    Ip Address: All Unassigned
    Port: 80
    Host name: samplesite.local
    
  2. LAN:

    Type: http
    Ip Address: <Network address of the hosting machine ex. 192.168.0.10>
    Port: 80
    Host name: <Leave it blank>
    

Voila, you should be able to access the website from any machine on your local network by using the host's LAN IP address (192.168.0.10 in the above example) as the site url.

NOTE:

if you want to access the website from LAN using a host name (like samplesite.local) instead of an ip address, add the host name to the hosts file on the local network machine (The hosts file can be found in "C:\Windows\System32\drivers\etc\hosts" in windows, or "/etc/hosts" in ubuntu):

192.168.0.10 samplesite.local

21
votes

do not turn off firewall, Go Control Panel\System and Security\Windows Firewall then Advanced settings then Inbound Rules->From right pan choose New Rule-> Port-> TCP and type in port number 80 then give a name in next window, that's it.

11
votes

Control Panel >> Windows Firewall

Advanced settings >> Inbound Rules >> World Wide Web Services - Enable it All or (Domain, Private, Public) as needed.

4
votes

Find the local IP address of computer A and find the port that your website is running on. Then from computer B open a web browser and go to IP:port. Example: 192.168.1.5:80 if computer A's IP is 192.168.1.5 and your website is running on port 80

-4
votes

Control Panel >> Windows Firewall >> Turn windows firewall on or off >> Turn off.

Advanced settings >> Domain profile >> Windows firewall properties >> Firewall status >> Off.