IISExpress不断拒绝来自自定义域的连接

时间:2019-05-30 13:54:38

标签: visual-studio iis-express

使用最新的更新,不同的Web应用程序(基于.NET Framework和.NET Core)对Visual Studio 2015和2017进行了尝试。 IISExpress是10.0,Windows 10 Pro。

当我运行http://localhost:49217之类的网络应用程序时,它可以工作。如果是http://mydomain:49217,我会收到“ mydomain拒绝连接”的信息。同时,如果我执行“ ping mydomain”操作,则会成功。

我做到了:

  • 主机文件中的“ mydomain 127.0.0.1:”
  • (替换本地主机条目并同时保留本地主机和mydomain)
  • 确保这是实际的applicationhost.config(因为在不同的Visual Studio版本中它们有很多位置)。例如,当我直接在Visual Studio中更改设置时,我看到此文件已更新。
  • 具有管理员权限的“ netsh http add urlacl url = http://mydomain:49217/ user = everyone”

我试图以管理员身份运行Visual Studio,也直接以(也以管理员身份)运行IISExpress:

C:\WINDOWS\system32>"c:\Program Files\IIS Express\iisexpress.exe" /config:"c:\solution_path\.vs\config\applicationhost.config" /site:"solution"

Starting IIS Express ...
Successfully registered URL "http://localhost:49217/" for site "solution" application "/"
Successfully registered URL "http://mydomain:49217/" for site "solution" application "/"
Successfully registered URL "http://*:49216/" for site "solution" application "/"
Registration completed for site "solution"

然后我看到的是本地主机而不是mydomain的传入连接。

我试图关闭专用和公用网络的Windows Defender防火墙,但无济于事。

我还能做什么?

编辑: 我现在尝试在Kestrel下运行一个Web应用程序(.NET Core一个),并且从一开始就有效,我可以很好地访问http://mydomain:49217。只是IISExpress无法正常工作,我必须使用IISExpress,Kestrel对我来说不是一个选择。

1 个答案:

答案 0 :(得分:1)

您可以安装名为Conveyor的免费VS扩展(在“工具”->“扩展”中)。它将打开一个新端口,该端口将接受来自其他主机名的连接。

例如。它将打开端口45455,然后您可以转到http://mydomain:45455

您将不再需要更改绑定,但是您当然需要保留hosts文件的更改。如果您想使用我们的子域之一通过Internet访问,也可以注册隧道。