• VS的IISExpress配置通过IP访问程序


      今天同事想要通过他的电脑在局域网中调用我本地的接口,理论上我在本地启起来后给他对应的IP地址和端口号就可以了,所以我在自己电脑上试了一下吧localhost改成IP或127.0.0.1 试了一下......果然还是无法访问!!!通过localhost访问是有效的,但是通过本机IP甚至127.0.0.1访问无效,报的错误是 400. The request hostname is invalid.

    如下图:

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

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

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

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

    <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项目的名称,找到对应你项目的配置,然后在

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

     后面加上

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

    (端口号和IP都都改成自己的)

    4.按上面改为后,当你通过IP地址访问时还是可能会出现400错误,如果出现,就采用下面的方法:

    (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/
  • 相关阅读:
    ios学习笔记之block在ios开发中的应用
    ios学习笔记之block在ios开发中的应用
    20款优秀的移动产品原型和线框图设计工具
    字段约束,索引,主外键
    建表,建库
    MYSQL索引类型。MYSQLc储存引擎
    数据库服务概述,构建MYSQL服务器,数据库基本管理,mysql数据类型,表结构的调整
    Zabbix报警机制,Zabbix进阶操作,监控案例
    parted分区和挂载及非交互式操作
    《总结2》项目实验课
  • 原文地址:https://www.cnblogs.com/daley/p/12034256.html
Copyright © 2020-2023  润新知