我有一个.NET Core应用程序,我正在尝试部署到Azure App Service。当我部署并尝试加载该站点时,我收到了502.5错误响应。从我所读到的,这意味着它是一个权限问题。我已尝试使用stdout打印日志,但在物理创建日志文件时,它们都是空的。
所以我开始通过注释掉代码来消除这个问题。在ConfigureServices
我正在加载证书:
var certificate = new X509Certificate2("mycertificate.pfx", "**********");
如果我注释掉这一行,那么应用程序就会加载。一旦返回,它会再次出错。
从Azure门户中的控制台我尝试使用mycertificate.pfx
授予chmod 777 mycertificate.pfx
权限,但似乎没有任何影响。
我不确定问题是加载该特定文件还是完全使用X509Certificate2
。
如何设置它?
答案 0 :(得分:0)
如何设置它?
1.使用azure portal将pfx证书上载到Azure。需要服务计划B或以上。如何更改服务计划请参阅此document
您可以使用多个以逗号分隔的指纹值,也可以将此值设置为“*”(不含引号),在这种情况下,所有证书都将加载到您的Web应用程序个人证书存储区
3.从WebApp访问
using System;
using System.Security.Cryptography.X509Certificates;namespace UseCertificateInAzureWebsiteApp
{
class Program
{
static void Main(string[] args)
{
X509Store certStore = new X509Store(StoreName.My, StoreLocation.CurrentUser);
certStore.Open(OpenFlags.ReadOnly);
X509Certificate2Collection certCollection = certStore.Certificates.Find(
X509FindType.FindByThumbprint,
// Replace below with your cert's thumbprint
“E661583E8FABEF4C0BEF694CBC41C28FB81CD870”,
false);
// Get the first cert with the thumbprint
if (certCollection.Count > 0)
{
X509Certificate2 cert = certCollection[0];
// Use certificate
Console.WriteLine(cert.FriendlyName);
}
certStore.Close();
}
}
}
我们可以从document获得更多信息。