gpt4 book ai didi

c# - 如何在端口号 53135 中使用 IIS Express 运行 HTTPS

转载 作者:太空狗 更新时间:2023-10-29 23:12:22 25 4
gpt4 key购买 nike

我正在使用 ASP.NET 核心 2.0.0 并使用它创建了在 HTTPS 中运行的 Web 应用程序。为了在 HTTPS 中运行,我在我的 Program.cs 中使用了以下代码

string directory = Directory.GetCurrentDirectory();
string portNumber = Helper.getPortNumber(directory);
var cert = new X509Certificate2("file1.pfx", "ccc");

var host = new WebHostBuilder()
.UseKestrel(cfg => cfg.UseHttps(cert))
.UseUrls("https://localhost:53135")
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();

host.Run();

然后将 APPURL 更改为 https://localhost:53135/ .如果我运行该程序,我会收到如下错误:

"An error occurred attempting to determine the process id of service.exe which is hosting your application.One or more errors occurred."

但是如果我给端口号 44300 到 44399 没有异常出现并且链接成功托管。我读过一个链接,要使用 SSL 运行 IIS Express,端口号应该在 44300 到 44399 的范围内。我需要在所有端口上运行我的应用程序。谁能指导我如何做到这一点?

最佳答案

为此您需要管理员权限。

使用管理员权限打开命令提示符,然后执行:

netsh http show sslcert

搜索 IP:Port 在 44300 到 44399 范围内的 block ,并复制证书哈希和应用程序 ID 值。然后执行:

netsh http add sslcert ipport=0.0.0.0:53135 certhash=<HASH> appid="<APPLICATION_ID>"

将值替换为您在第一步中复制的哈希值。

在此之后,编辑您的 .csproj 和可能的 .csproj.user 文件以确保您的 Visual Studio 将使用正确的端口启动应用程序,例如:

<IISExpressSSLPort>53135</IISExpressSSLPort>

有时您可能还必须编辑 .vs\config\applicationhost.config 文件,查找绑定(bind)并更改其端口。将其更改为:

<binding protocol="https" bindingInformation="*:53135:localhost" />

确保为正确的项目编辑绑定(bind)。

关于c# - 如何在端口号 53135 中使用 IIS Express 运行 HTTPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50581904/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com