IIS - 无法通过ip地址而不是localhost访问页面

时间:2012-12-25 10:03:34

标签: asp.net iis ip localhost clickonce


我正在尝试发布ClickOnce应用程序并在本地测试它。我想提供安装链接,所以我需要用IP地址更新位置,除非我无法安装它(因为localhost被翻译成计算机名并且无法访问)。问题是,在我的IIS上,我只能在地址中使用localhost来访问我的网页。

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

我在Windows 7使用Visual Studio 2012IIS Express 8.0,但我在Visual Studio 2010ASP.NET server上尝试了相同的操作,但仍然失败了。我关闭了防火墙。

你有什么想法可能有什么不对吗?

9 个答案:

答案 0 :(得分:18)

所以我遇到了与WSUS相同的问题,结果发现IIS 8.5没有绑定到我的ipv4 ip地址,但是绑定到了ipv6地址。当我通过localhost:8580访问它时,它会将它转换为ipv6 localhost地址,因此可以工作。通过ip访问它是不行的。我不得不使用netsh手动绑定地址,然后它立即工作。血腥烦人。

步骤:

  1. 以管理员身份打开命令提示符
  2. 输入以下内容:
  3. netsh http add iplisten ipaddress (IPADDRESSOFYOURSERVER)

    是的。你应该得到:

    IP address successfully added

    我在这里找到了命令 https://serverfault.com/questions/123796/get-iis-7-5-to-listen-on-ipv6

答案 1 :(得分:13)

IIS是一个多网站服务器。方法与主机标题名称截然不同。所以你需要在你的网站上设置它。

以下是您需要遵循的步骤:

How To Use Host Header Names to Configure Multiple Web Sites

HOW TO: Use Host Header Names to Host Multiple Sites Using Host Header Names to Host Multiple Web Sites

一般情况下,打开您的网站属性,找到IP地址,其附近有高级的“此网站的多个身份”。在那里你需要以太网将所有收入添加到这个站点,并带有一个星号:“*”,以及你想要使用的名字。

答案 2 :(得分:10)

也许它也有助于某人:)

  

我不允许发布图片,所以这里有额外链接到我的博客。遗憾。

IIS webpage by using IP address

在IIS管理中:选择网站,然后选择绑定

添加

  • 输入:http
  • HostName:Empty
  • 港口:80
  • IP地址:从下拉菜单中选择您需要的IP(通常只有一个IP)

答案 3 :(得分:1)

检查浏览器代理的设置。对我来说它有所帮助,交通被引导到外面。

答案 4 :(得分:0)

尝试禁用Windows防火墙,它对我有用,但就我而言,我能够通过127.0.0.1访问IIS

答案 5 :(得分:0)

我试图通过特定端口号访问我的网页,并尝试了很多操作,但是我发现该端口已被防火墙过滤。刚刚添加了绕过规则,一切就完成了。

也许可以帮助别人!

答案 6 :(得分:0)

在IIS管理器中,我向指定IP地址的站点添加了绑定。以前,我所有的绑定都是主机名。

答案 7 :(得分:0)

在我的情况下,这是因为我使用的端口不是默认端口80。我能够使用localhost在本地访问该站点,但不能在使用IP地址的另一台计算机上访问该站点。

要解决此问题,我必须添加防火墙入站规则以允许端口。 enter image description here

答案 8 :(得分:-3)

按照以下步骤 -

  1. 在IIS中右键单击“默认网站”
  2. 点击上下文菜单中的修改建筑物
  3. 选择并修改
  4. 在IP地址
  5. 中为您的机器提供IP而不是“*”