IIS7.5 Deployment for Asp.Net Web API

本文关键字:Net Web API Asp for Deployment IIS7 | 更新日期: 2023-09-27 18:01:00

我已经完成了在亚马逊云服务的windows服务器2008R2机器上的IIS 7.5中部署Web API的所有步骤。还有其他WCF服务正在处理此问题,可以从外部(服务器外部(和内部(服务器上(访问这些服务。所以我想知道我哪里错了。

我刚刚创建了一个默认的web api应用程序。您知道一个,它的值控制器返回["Value1","Value2"]。并部署了它。

我遵循的步骤是:

  1. 使用创建一个适当命名的应用程序池。选择Net 4.0/集成
  2. 添加了一个网站,在1中选择了应用程序池,填写了我的网站的物理路径,给出了相关的http设置(依次选择我可用的3个选项中的每一个,全部未分配,::1,我的机器IP为AAA.BBB.CCC.ETC(,并更改了端口,因为同时使用了80和8080。所以我只使用了8081
  3. 然后我解锁了防火墙中的8081端口(只是因为我教过可能需要它,尽管其他人似乎不需要,但我可能错了,所以我甚至暂时关闭了防火墙,但它仍然不起作用(

诀窍是,当我完全放弃绑定时。。。就是。。。如果我进入编辑绑定。单击绑定并选择编辑。然后删除主机名文本框中的文本。我的api在内部工作(在服务器上(。但我无法从外部(从另一台电脑(访问它。我得到"此页面无法显示"。

当我把主机名放回时,我无法从内部或外部获得它。

我也无法通过键入服务器的IP地址来获得它,即使使用端口也是如此。

当我在亚马逊云服务中使用服务器时,我很好奇是否有一些设置需要在服务器外部进行,以使8081端口对外部世界可用?在Azure中,您需要使端口在外部可用。如果需要的话,我不知道如何在亚马逊做到这一点。

只是为了消除误报:我知道。Net 4.5是的一个子集。Net 4.0框架,因此我进行了广泛的研究,认为我的应用程序应该(而且确实(工作,即使我只能选择。Net 4.0在应用程序池中(请参阅第3点之后的内容(。所以我知道这不是问题所在。

如有任何帮助,我们将不胜感激。如果我能澄清问题的任何部分,请告诉我。

IIS7.5 Deployment for Asp.Net Web API

鉴于我使用SO作为自己的参考,目前还没有答案。我决定自己回答这个问题,因为我找到了解决方案。如果有人有更好的解决方案,请评论或回答。我不是一个网络或硬件的家伙,所以我必须把这个放在这里供我自己参考,因为我知道6个月后我会忘记这个,下次我必须这么做

从本质上讲,我部署到IIS所遵循的所有步骤都不是问题所在。我在那里所做的一切都是100%正确的。在完成以下步骤后,我能够成功地运行该应用程序。

设置物理服务器时,只需打开防火墙中的端口即可进行访问。但是,如果设置虚拟服务器,在VM上的防火墙内部打开端口不足以获得访问权限。

如果设置虚拟机,您不仅必须在虚拟机的内部打开端口,还必须打开虚拟机后面的物理机器上的端口。

如果在云上进行设置,那么在azure中,您必须从外部打开VM的端口。在亚马逊,做这件事的地方目前(可能会改变(位于网络&"安全"选项卡,然后在"安全组子"选项卡下,选择要打开端口的VM,然后在入站选项卡下,添加自定义规则并键入端口号。您可能需要也可能不需要添加出站规则。本质上,如果出站设置为all,则不需要向出站添加另一条规则。

我希望其他来这里的人会觉得这很有帮助。