Web服务器在充当网关或代理服务器时收到无效响应

本文关键字:无效 响应 代理服务器 服务器 网关 Web | 更新日期: 2023-09-27 18:10:50

当尝试使用Google .net客户端库的服务帐户将web应用程序部署到Azure时,它返回以下错误

502 - Web服务器在作为网关或代理服务器。

代码示例:

var certificate = new X509Certificate2(KeyFilePath, "notasecret", X509KeyStorageFlags.Exportable);
ServiceAccountCredential credential = new ServiceAccountCredential(
    new ServiceAccountCredential.Initializer(serviceAccountEmail) {
                        Scopes =  new string[] { AnalyticsService.Scope.Analytics };
                    }.FromCertificate(certificate));
// Create the service.
AnalyticsService service = new AnalyticsService(new BaseClientService.Initializer()
                {
                    HttpClientInitializer = credential,
                    ApplicationName = "Analytics API Sample",
                });

上面的代码在开发中运行时可以工作。然而,当部署到AZURE时,它返回一个错误。

Web服务器在充当网关或代理服务器时收到无效响应

我花了大约两个小时才找到这个问题

问题与Azure处理证书的方式有关。

通过改变下面的行

var certificate = new X509Certificate2(KeyFilePath, "notasecret", X509KeyStorageFlags.Exportable);

var certificate = new X509Certificate2(KeyFilePath, "notasecret", X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.Exportable);

web应用程序和服务帐户现在在Azure上工作。我希望这对将来的人有所帮助。