VS的IISExpress配置经过IP访问程序

  今天同事想要经过他的电脑在局域网中调用我本地的接口,理论上我在本地启起来后给他对应的IP地址和端口号就能够了,因此我在本身电脑上试了一下吧localhost改为IP或127.0.0.1 试了一下......果真仍是没法访问!!!经过localhost访问是有效的,可是经过本机IP甚至127.0.0.1访问无效,报的错误是 400. The request hostname is invalid.安全

以下图:服务器

 

 

 

 

因而乎  度娘就告诉我,你这样是不行滴,你得像我这样搞....!!!app

 

1.在状态栏中,选择IISPress站点,右键选择显示全部应用程序url

 

 

 

 2.单击站点名称,在下面提示的路径中选择配置路径,打开applicationhost.config文件spa

 

 

3.找到IISExpress的配置文件并打开applicationhost.config,找到以下代码:3d

<site name="WebSite1" id="1" serverAutoStart="true">
      <application path="/">
           <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />
      </application>
      <bindings>
           <binding protocol="http" bindingInformation=":31173:localhost" />
      </bindings>
</site>

 

 其中name是你Web项目的名称,找到对应你项目的配置,而后在code

<binding protocol="http" bindingInformation="*:31173:localhost" />

 后面加上orm

 <binding protocol="http" bindingInformation="*:31171:192.168.1.xx" />

 

(端口号和IP都都改为本身的)server

 

4.按上面改成后,当你经过IP地址访问时仍是可能会出现400错误,若是出现,就采用下面的方法:blog

(1)以管理员身份打开CMD命令窗口
(2)输入以下命令:
netsh http add urlacl url=http://192.168.1.xx:31173/ user=everyone

与上面改的IP和端口号对应,若是报错请确认是不是以管理员身份运行的CMD。 

经过命令,能够查看到已经添加进去的URL了

netsh http show urlacl

 

完成以后重启IISExpress,此时应该就可使用IP地址访问了。

 

 

5.完成上面两部以后,因为防火墙的缘由,其余的电脑可能还没法访问你的服务器,若是出现这种状况,关闭防火墙(这里系统是win8.1)

  (1)控制面板(查看方式选择类别)->系统和安全->Windows防火墙,在左侧选择高级设置
  (2)右击入站规则->新建规则->端口->特定本地端口处输入31171->容许链接->3个选项全选->输入新规则名称->完成 

 

如今外部程序就能够访问你的IISExpress了

 

6.最后呢,用完了也能够将其删除:

netsh http delete urlacl url=http://192.168.1.xx:31173/
相关文章
相关标签/搜索