46


I'm trying to publish ClickOnce application and test it locally. I want to provide installation link so I need to update location with an IP address otherwise I won't be able to install it (because localhost is translated into computer name and it's not accessible). The problem is, that on my IIS I can access my page only by using localhost in the address.

http://localhost:9995/publish/Publish.htm <-- working 
http://192.168.1.104:9995/publish/Publish.htm <-- not working (my IP address)
http://my_pc_name:9995/publish/Publish.htm <-- not working
http://127.0.0.1:9995/publish/Publish.htm <-- even that is not working

I'm using Windows 7 and Visual Studio 2012 with IIS Express 8.0, but I tried the same on Visual Studio 2010 and it's ASP.NET server and still failed. I have my firewall turned off.

Do you have any ideas what can be wrong?

KlimczakM
  • 12,576
  • 11
  • 64
  • 83

9 Answers9

52

So I had this same problem with WSUS and it turned out that IIS 8.5 was not binding to my ipv4 ip address, but was binding to ipv6 address. when I accessed it via localhost:8580 it would translate it to the ipv6 localhost address, and thus would work. Accessing it via ip was a no go. I had to manually bind the address using netsh, then it worked right away. bloody annoying.

Steps:

  1. Open command prompt as administrator
  2. Type the following:

netsh http add iplisten ipaddress (IPADDRESSOFYOURSERVER)

that's it. You should get:

IP address successfully added

I found the commands here https://serverfault.com/questions/123796/get-iis-7-5-to-listen-on-ipv6

Spc_555
  • 4,081
  • 2
  • 27
  • 34
Optical Phoenix
  • 660
  • 6
  • 3
20

Maybe it helps someone too:)

I'm not allowed to post images, so here goes extra link to my blog. Sorry.

IIS webpage by using IP address

In IIS Management : Choose Site, then Bindings.

Add

  • Type : http
  • HostName : Empty
  • Port : 80
  • IP Address : Choose from drop-down menu the IP you need (usually there is only one IP)
bluish
  • 26,356
  • 27
  • 122
  • 180
  • For Windows Server 2012, you can enter * for both HostName and IP Address. – Talha Imam Oct 11 '18 at 05:47
  • Showing only one IP address but can I use my custom IP address? – SPnL Oct 23 '19 at 04:48
  • This was my problem. Even though I was using the only IP address the machine had, for some reason using both IP and host broke it. Entering a wildcard IP fixed it. – Gojira Nov 13 '19 at 20:57
  • This fixed my issue. – cain Nov 30 '20 at 00:14
  • Thank you very much. This was the solution for my case where server needed to be accessed in local intranet. I had bindings for "localhost" as hostname, that was causing the problem. I changed it to empty hostname and specific local ipv4 address of server as you stated. – VPetrovic Nov 16 '21 at 11:03
  • How to do that for IIS Express? – MohammadHossein R Oct 08 '22 at 16:13
15

The IIS is a multi web site server. The way is distinct the site is by the host header name. So you need to setup that on your web site.

Here is the steps that you need to follow:

How to configure multiple IIS websites to access using host headers?

In general, open your web site properties, locate the Ip Address and near its there is the advanced, "multiple identities for this web site". There you need ether to add all income to this site with a star: "*", ether place the names you like to work with.

Aristos
  • 66,005
  • 16
  • 114
  • 150
4

In my case it was because I was using a port other than the default port 80. I was able to access the site locally using localhost but not on another machine using the IP address.

To solve the issue I had to add a firewall inbound rule to allow the port. enter image description here

datchung
  • 3,778
  • 1
  • 28
  • 29
2

Check the settings of the browser proxy . For me it helped , traffic was directed outside.

Jaro
  • 31
  • 1
0

Try with disabling Windows Firewall, it worked for me, but in my case, I was able to access IIS through 127.0.0.1

Raj K
  • 568
  • 6
  • 11
0

I was trying to access my web pages on specific port number and tried much things, but I've found the port was filtered by firewall. Just added a bypass rule and everything was done.

Maybe help someone!

Ahmad Behzadi
  • 1,006
  • 15
  • 30
0

In IIS Manager, I added a binding to the site specifying the IP address. Previously, all my bindings were host names.

JohnWrensby
  • 2,652
  • 1
  • 18
  • 18
-2

Follow the below steps -

  1. In IIS Right click the "Default Web Site"
  2. Click Edit Buildings in the context menu
  3. Select and edit
  4. Give your machine IP instead of "*" in IP Address
NLV
  • 21,141
  • 40
  • 118
  • 183