如何在IIS Express中启用远程请求?Scott Guthrie写道,这是可能的,但他没有说明如何实现。


当前回答

[项目属性对话框]

使用VisualStudio 2017和NetCore api项目进行开发:

1)在Cmd-Box: ipconfig /all中确定ip地址

2a)在“项目属性->调试”选项卡中输入检索到的ip地址

2b)选择一个端口,并将其附加到步骤2a中的ip地址。

3)在防火墙中添加allow规则,允许从所选端口进入tcp流量 (我的防火墙被一个对话框触发:“阻止或添加规则到防火墙”)。在这种情况下,加法就可以了。

上述方案的缺点:

1)如果你使用动态ip地址,你需要重做上述步骤,以防另一个ip地址已被分配。

2)你的服务器现在有一个开放的端口,你可能会忘记,但这个开放端口仍然是一个邀请不受欢迎的客人。

其他回答

在IIS团队网站上有一篇博客文章解释了如何在IIS Express上启用远程连接。以下是那篇文章的相关部分总结:

在Vista和Win7上,在管理提示符下运行以下命令: Netsh HTTP添加urlacl url=http://vaidesg:8080/ user=everyone 对于XP系统,首先安装Windows XP Service Pack 2 Support Tools。然后在管理提示符下运行以下命令: httpcfg set urlacl /u http://vaidesg1:8080/ /a D:(a;;GX;;;WD)

在我找到iisexpress-proxy之前,什么都没用。

以管理员身份打开命令提示符,然后运行

npm install -g iisexpress-proxy

then

iisexpress-proxy 51123 to 81

假设您的Visual Studio项目在localhost:51123上打开,并且您想在外部IP地址x.x.x.x:81上访问

编辑:我目前正在使用ngrok

如果你正在使用Visual Studio,那么按照以下步骤通过ip地址访问IIS-Express:

Get your host IP-Adress: ipconfig in Windows Command Line GoTo $(SolutionDir)\.vs\config\applicationHost.config Find <site name="WebApplication3" id="2"> <application path="/" applicationPool="Clr4IntegratedAppPool"> <virtualDirectory path="/" physicalPath="C:\Users\user.name\Source\Repos\protoype-one\WebApplication3" /> </application> <bindings> <binding protocol="http" bindingInformation="*:62549:localhost" /> </bindings> </site> Add: <binding protocol="http" bindingInformation="*:62549:192.168.178.108"/> with your IP-Adress Run your Visual Studio with Administrator rights and everything should work See post from Andrii how to configure Firewall: here

如果你从管理员运行Visual Studio,你可以添加

<装订协议=“http”bindingInformation=“8080:*”/>

or

<装订协议=“https”binps条=“*:8443:*”/>

into

%userprofile%\My Documents\IISExpress\config\applicationhost.config

这个问题的公认答案是如何让IIS Express使用webmatrix的指南。我发现这个指南在使用VS 2010时更有用。

我只是按照步骤3和4(以管理员身份运行IIS Express),并且不得不暂时禁用我的防火墙才能让它工作。