【问题标题】:Why does IIS run two URL's for the same site?为什么 IIS 为同一个站点运行两个 URL?
【发布时间】:2021-07-06 03:42:08
【问题描述】:

当我在 VS 2017 中运行我的 asp.net webforms 应用程序时,IIS express 启动,当我查看任务栏中正在运行的应用程序时,我看到:

PID = 20100

然后,我看到相同的站点名称两次,一次是 http://localhost:62348/ 然后再次为 https://localhost:44321/

https://localhost:44321 是 Chrome 用于我设置为启动页面的页面,为什么另一个端口?哪里来的?

有人解释一下为什么有两个不同的端口,一个是安全的,而另一个不安全??

【问题讨论】:

  • 我预感到这是一个配置错误,因为我启动了一个全新的 Web 应用程序项目,运行它,但只运行了一个 IIS express URL/端口。
  • 在不同条件下创建的不同项目最终会得到不同的 IIS Express 配置文件,因此它们的设置(站点绑定)自然会有所不同docs.jexusmanager.com/tutorials/…
  • 好吧,实际上,如果您同时运行 http 和 https?当然,您在这里有两个选择——一个连接和进程是加密和安全的——另一个不是。很确定这是正常的。

标签: asp.net iis webforms


【解决方案1】:

当您使用 IIS Express 时,Visual Studio 会随机分配一个空闲端口供您的应用程序托管。您只需右键单击系统托盘图标上的 IIS Express 图标,然后选择“显示所有应用程序”即可启动此应用程序。这将打开一个对话框,您可以在其中看到 IIS Express 上所有正在运行的应用程序,这就是您看到的 http://localhost:62348。

当您在“项目属性”中启用 SSL,然后设置“SSL Enabled = True”,现在运行应用程序,您可以看到单个站点的 SSL 和非 SSL 的 URL 不同,这就是你看到的 https://localhost:44321。

如果您想知道这些信息存储在哪里,那么您必须查看一下您的 Web 项目文件 (.csprog)。在任何编辑器中打开项目文件,您会发现一个名为 .项目扩展有一个名为 Web 项目属性的子部分,您可以在其中查看所有设置。

【讨论】:

    【解决方案2】:

    您可以在 appsettings.json 文件中找到它 如果你只想要 https,你可以使用 httpsredirect 来强制你的应用程序只使用 https url

    【讨论】:

      猜你喜欢
      • 2017-12-03
      • 2017-05-09
      • 2020-06-27
      • 1970-01-01
      • 1970-01-01
      • 2012-11-09
      • 1970-01-01
      • 2020-05-18
      • 1970-01-01
      相关资源
      最近更新 更多