如何在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),并且不得不暂时禁用我的防火墙才能让它工作。