launchSettings.json 中的代理值属于开发启动配置文件。发布应用程序并不会让该配置文件成为 IIS 工作进程、服务或容器的环境。

对于已部署环境中的故障,请检查真正启动应用程序的进程。该进程的环境、账户和 HTTP 处理程序决定了哪些代理输入可用。

在何处生效部署后应比较什么
IDE 启动配置文件宿主进程的环境
交互式用户会话服务账户及其代理设置
手动创建的 HTTP 客户端应用程序注入的客户端所使用的处理程序

现代 HttpClient 的默认代理初始化遵循平台特定的环境规则和系统配置规则。显式配置的处理程序可以覆盖这些默认值。使用 IHttpClientFactory 时,请检查命名客户端的主处理程序注册以及调用点获取的名称。在断定配置文件被忽略之前,请先检查这两个输入。

.NET Framework 的旧版 system.net/defaultProxy 示例描述的是另一种配置模型。不要将该节粘贴到现代部署文件中,也不要假定每个 .NET HTTP 实现都会使用它。在 IIS 部署中,ASP.NET Core 模块也有受支持的进程环境配置机制;添加值时请保留该托管配置的其余部分。

记录预期变量是否存在,但不要公开其包含凭据的完整值。然后确认执行失败请求的客户端确实使用了该来源。配置正确的启动器无法修复故意使用另一条路径的客户端。

相关文章