在虚拟机上托管的localhost iisexpress网站时,为什么会收到403

时间:2018-12-10 22:59:07

标签: windows iis-express parallels

因此,在我开始之前,我知道如何向网络开放IISExpress,有很多关于I even wrote one的文章。但是,这些方法确实有局限性-最明显的是,需要添加绑定(我发现这种绑定是命中注定或失败的),更糟的是,它会破坏任何基于主机名执行操作的代码。

我使用的是在Parallels内部运行Windows 10的OsX,本周早些时候,我认为我应该尝试像将docker容器一样将本地主机转发到VM。

我真的很接近,但是我不知道最后一步。这是我所做的和所看到的:

  1. 我暂时禁用了Windows上的防火墙
  2. 我已将正确的端口(在本例中为44300)转发到来宾VM,然后重新启动它。
  3. 我通过命令行运行了iseisexpress,以便查看完整的日志(我也通过Visual Studio尝试过)

我看到的是,当我从VM内点击localhost:44300时,我的站点加载正常,各种情况都被记录下来。

但是当我从主持人那里找到它时,我会得到

  

HTTP错误403。请求网址被禁止。

在这种情况下,iisexpress不会记录任何内容。

但是,我知道请求正在通过某种方式进行处理,因为如果我停止iisexpress并再次在主机上转到localhost:44300,则会得到标准的请求

  

localhost拒绝连接。 ERR_CONNECTION_REFUSED

iisexpress正在或未在端口上监听的事实正在级联到主机VM,但是没有其他问题通过。

所以我有点茫然-看起来有点像是绑定的东西,但是据iisexpress所知,由于端口转发,这个请求不会来自localhost?如何判断是否不是?由于缺少日志消息,即使这样听起来也不可能。我也从来没有看到提琴手弹出任何东西。

我想知道是否还有一些其他 Windows组件看到绑定到44300的东西,看到来自网络堆栈的请求,然后将其关闭。那是东西吗?

0 个答案:

没有答案