【问题标题】:Bad Request- Invalid Hostname while connect to localhost via wifi from mobile phone错误请求 - 从手机通过 wifi 连接到 localhost 时主机名无效
【发布时间】:2014-03-29 11:06:45
【问题描述】:

我在尝试连接笔记本电脑的 localhost 时收到 Bad Request- Invalid Hostname [HTTP ERROR 400]。 实际上,我正在学习使用 jQuery Mobile 开发移动网络。 我想看看网页的布局是否适合我的手机尺寸。

我已经添加了 Visual Studio 以这种方式提供的端口号:
控制面板> 防火墙> 高级设置> 退回规则> 新规则。
然后,我通过在命令提示符处键入“ipconfig”来获取我的 IP 地址。
之后,我用我的安卓手机浏览器(Mozilla 5.0),输入链接192.XXX.XXX.XXX:57976。

我已经阅读了类似的问题,但我无法得到解决方案。 有人认为此错误与 IIS 设置有关。 但我无法获得 IIS 设置的解决方案。 希望大家能帮我解决这个问题。

【问题讨论】:

  • 如果您使用我们的免费 VS 扩展“Conveyor”,可以为其他设备打开 IIS Express marketplace.visualstudio.com/…,您可以省去很多配置文件的麻烦

标签: iis localhost


【解决方案1】:

清除浏览器数据ctrl+shift+del

【讨论】:

    【解决方案2】:

    步骤 1:添加 Windows 防火墙的入站规则

    1. 打开 高级安全 Windows 防火墙
    2. 在左侧面板中,右键单击入站规则 > 新建规则
    3. 规则类型:端口
      协议和端口:TCP
      特定本地端口:57976
      操作 strong>:允许连接
      个人资料:勾选所有(域、私有、公共)
      名称:名称、说明(可选)
    4. 完成。

    第 2 步:IIS 或 IIS Express

    添加 IIS 管理器的绑定

    1. 打开 IIS 管理器
    2. 在左侧面板中,转到网站 > 默认网站
    3. 在右侧面板中,单击绑定。然后,弹出新对话框。
    4. 在弹出对话框中,单击“添加”按钮。输入端口号和主机名。
      就我而言,
      port = 57976;
      hostname = 192.XXX.XXX.XXX(我的 IP 地址)

    添加 IIS Express (Visual Studio) 的绑定

    1. 停止当前站点
    2. 对于 Visual Studio 2015,更改项目文件夹下的 IIS 配置 C:\Projects\<ProjectName>\.vs\config\applicationhost.config‌​
    3. 对于Visual Studio 2015 的旧版本,更改 IIS Express 文件夹下的 IIS 配置 C:\Users\<your profile name>\Documents\IISExpress\config\applicationhost.config
    4. applicationhost.config 中,按端口号(我的例子是57976)搜索,然后再绑定你的IP 地址

          <site name="Web(1)" id="9">
            <application path="/" applicationPool="Clr4IntegratedAppPool">
              <virtualDirectory path="/" physicalPath="E:\abc\project\dev\web" />
            </application>
            <bindings>
              <binding protocol="http" bindingInformation="*:57976:localhost" />
              <binding protocol="http" bindingInformation="*:57976:192.XXX.X.XXX" />
            </bindings>
          </site>
      

    更新:

    对于 Windows 10 或 Visual Studio 2015 用户, 您可能会收到以下错误消息:

    Unable to launch the IIS Express Web server, Failed to register URL, Access is denied
    

    解决方案:

    1. 关闭 Visual Studio
    2. 右键单击 Visual Studio > 运行为 管理员



    参考:https://azure.microsoft.com/en-us/documentation/articles/mobile-services-dotnet-backend-how-to-configure-iis-express/

    【讨论】:

    • 对此的更新。使用新的 ASP.NET Core,IIS 配置文件现在位于项目文件夹中,因此类似于“C:\Projects\\.vs\config\applicationhost.config”。 .vs 是一个隐藏文件夹。此外,对于 Windows 10 和 Visual Studio 2015,您可能必须将 IIS 托盘和 IIS Express 工作进程设置为以管理员身份运行,然后 Visual Studio 必须以管理员身份启动,因为它会启动这些进程。它们可以在这里找到:C:\Program Files (x86)\IIS Express\iisexpresstray.exe 和 C:\Program Files (x86)\IIS Express\iisexpress.exe
    • 需要编辑项目文件夹内的.vs文件中的applicationhost.config。它是隐藏的,所以需要取消隐藏才能更改它。
    • 这对我帮助很大!
    • 您实际上并不需要 IIS Express (Visual Studio) 部分。无法从“外部”机器访问 IIS Express。我发现的最佳工作流程是从 Web 项目属性 Web 部分中选择本地 IIS,并允许 Visual Studio 创建一个虚拟目录。这样你就可以点击播放来调试服务器 API。不过,您仍然需要确保在防火墙规则中打开端口 80。
    • 对我不起作用。 Windows 10、VS15、IIS Express 服务 https(这可能是问题吗?)。遵循指示。以管理员身份运行 ecc ... 更改 IIS 配置会导致它被覆盖添加一个全新的部分“站点名称 = 'mywebsite(x)'。使用 'x' 作为渐进式 int 并使用旧的“localhost”地址在任何时候我启动网站。从 VS15 (网站属性) web > project url: "192.168.0.2:44324" 修改会导致“无法启动 IIS Express Web 服务器”,正如其他人已经指出的那样。
    猜你喜欢
    • 2019-05-10
    • 2017-08-26
    • 2016-10-20
    • 2015-08-17
    • 2015-08-12
    • 2019-11-30
    • 1970-01-01
    • 1970-01-01
    • 2013-07-30
    相关资源
    最近更新 更多