在 asp.net 核心 3.1 网络应用程序 运行 上强制使用 https 作为 windows 服务器上的服务 2008 rs 服务器

force https on an asp.net core 3.1 web app running as a service on a windows server 2008 rs server

我有一个 asp.net 核心 3.1 网络应用程序,它使用 azure windows 身份验证。当我 运行 它在 VS 上或作为我本地计算机上的服务时 (windows 10) 它工作正常并且对所有请求使用 https。我将 exe 文件和 dll 复制到远程服务器(windows server 2008 rs)并在机器上创建了一个 windows 服务。当浏览器连接到服务时,身份验证是通过 https 完成的,但是当它 returns 到应用程序主页时,它使用 http。任何想法 why/what 我可以做些什么来强制在任何 OS/platform?

上通过 https 发出的所有请求

这可能是因为您的本地环境安装了默认应用程序配置用于本地 HTTPS 的开发证书。当用户路由到 Azure 进行身份验证时,通过 HTTPS 执行身份验证。

In production, HTTPS must be explicitly configured. At a minimum, a default certificate must be provided.

要在生产中强制执行 HTTPS,您需要配置证书。以下文章介绍了配置证书的各种方法:Configure endpoints for the ASP.NET Core Kestrel web server