无法在本地网络中访问asp.net网站

20 浏览
0 Comments

无法在本地网络中访问asp.net网站

我有一个asp.net网站,无论是在网络内还是网络外都无法访问。我只能从我运行该网站的机器上访问它。防火墙由一个名为Eset的软件管理,只有当我禁用它时,该网站才能在我的本地系统上打开。我已经在防火墙中为网站使用的端口打了一个洞,但我仍然无法从另一台机器访问该网站。路由器中也有一个端口转发规则,将流量重定向到我的机器。

我按照这里这里的说明进行了操作,但没有帮助。

请告诉我如何使其工作?

编辑1:

IISExpress/config/applicationhost.config文件的内容如下:


    
        
    
    
        
    



    
        
    
    
        
    

0
0 Comments

我遇到的问题是无法在本地网络中访问一个asp.net网站。原因是我之前并不知道需要安装和配置IIS Web服务器。我以为在Visual Studio中本地的IIS服务器会满足我在内外网访问网站的需求。

解决方法如下:

  1. 我按照这个教程(在Windows 7上安装IIS)来安装IIS服务器。
  2. 然后我从Visual Studio中发布了网站(我观看了这个视频)。
  3. 我发现我可以通过http://localhost/home/index访问网站,但是无法通过http://192.168.1.x/home/index访问。

我发现需要配置主机头。这个SO问题这个链接帮助我解决了这个问题。

  1. 但是我仍然无法使用本地IP地址访问网站,即使在IIS管理器中分配了一个新的端口也无法启动网站。我重启了电脑,然后在Visual Studio中打开项目时遇到了这个消息 - "The url is configured to use iis express as the web server but the url is currently configured on the local iis server"。所以,我按照这个问题禁用了Visual Studio中的本地IIS服务器。
  2. 在再次尝试在Visual Studio中打开项目时,出现了这个消息 - "asp.net 4.5 has not been registered on the web server. you need to manually configure"。我按照这个SO问题这个网站来解决这个问题。我运行了下面的命令:

    C:\Windows\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis.exe -i

  3. 在此之后,我在IIS管理器中配置了我的网站的绑定,使用了我的本地IP地址。在这个改变后重新启动网站,我可以通过localhost、本地IP地址和外部IP地址访问网站。
0
0 Comments

问题:无法在本地网络中访问一个asp.net网站

原因:

1. 没有在IIS服务器上配置网站,只在临时的Visual Studio(模拟的iis)上配置了网站。

解决方法:在IIS管理员中配置网站,并通过浏览器使用以下URL访问网站:http://localhost/yoursite

2. 检查本地IP地址。

解决方法:在本地机器上使用IPCONFIG命令查看本地IP,然后将URL中的"localhost"替换为"your ip address",例如:http://192.168.1.15/yoursite

3. 在本地网络的同一网段的计算机上尝试相同的URL地址。

解决方法:检查Windows防火墙、ESET防火墙、其他防火墙和路由器配置,消除路由器中的IP转发。

4. 将公共IP配置到本地IP上。

解决方法:将路由器上的公共IP指向本地服务器IP,最简单的方法是配置路由器的DMZ,将所有端口转发到本地机器。例如,如果公共IP是200.105.210.190,将DMZ配置为将所有端口转发到本地IP 192.168.1.15,这样全世界就可以通过以下URL访问您的机器:http://200.105.210.190/yoursite

感谢。第一步有效,但第二步(使用IP地址)无效。我已经将applicationhost.config文件的内容添加到了我的问题中。

解决方法:您可能正在使用IIS Express而不是传统的IIS,请参考此链接(http://stackoverflow.com/questions/3313616)来启用IIS Express的外部请求。

感谢。我已经解决了这个问题。我会将解决方法发布为答案(比我想象的要复杂)。

0
0 Comments

Unable to access an asp.net website in the local network

最近,我按照Ben Scott的一篇非常棒的HOWTO文章,在独立的IIS Express实例上托管了一个网站。由于我是对外提供服务的,所以以管理员身份运行IISExpress.exe,因此不需要在访问控制列表中注册URL(感谢Trevor Elliot的回答链接,非常实用!)。

然而,尽管按照教程操作,我仍然无法在本地网络中访问这个asp.net网站。经过一番研究,我发现了问题的原因和解决方法。

原因是IIS Express默认只允许本地访问,对于局域网内的其他设备是不可见的。因此,我们需要进行一些配置来允许局域网内的设备访问。

解决方法如下:

1. 首先,打开IIS Express的配置文件,该文件位于C:\Users\[用户名]\Documents\IISExpress\config\目录下。找到applicationhost.config文件,用文本编辑器打开。

2. 在文件中找到<sites>标签,这里存储了配置信息。

3. 在<sites>标签下,找到你要访问的网站的配置节点。节点的格式一般为<site name="[网站名]" id="[网站ID]">。

4. 在该节点下,找到<bindings>标签,这是网站绑定的端口和协议信息。

5. 在<bindings>标签下,找到<binding protocol="[协议]" bindingInformation="[绑定信息]">节点。这里的协议一般为http,绑定信息一般为*:端口:localhost。

6. 在该节点中新增一个<binding protocol="[协议]" bindingInformation="[绑定信息]">节点,协议和绑定信息保持不变,只需要将localhost改为*,表示允许所有设备访问。

7. 保存文件,并重启IIS Express。

通过上述步骤,我成功解决了无法在局域网内访问asp.net网站的问题。现在,我可以在本地网络中的其他设备上访问我的网站了。

希望这篇文章对那些遇到同样问题的人有所帮助!

0