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

标签 c# azure oauth google-oauth google-api-dotnet-client

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

502 - Web server received an invalid response while acting as a gateway or proxy server.

代码示例:

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 时,它会返回错误。

最佳答案

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

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

通过更改以下行

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

到此

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

Web 应用程序和服务帐户现在可以在 Azure 上运行。我希望这对将来的人有帮助。

关于c# - Web 服务器在充当网关或代理服务器时收到无效响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32361003/

相关文章:

php - 使用 PHP 和 OAuth 访问 SkyDrive

c# - 一步一步的 oAuth rest C# winform 示例

c# - 寻找 Oauth Yahoo 示例 C#

c# - 如何防止同一个非托管指针被封装在两个不同的 SafeHandles 中?

c# - 从 Azure Blob 存储容器获取最新文件夹

找不到 Azure 市场图像

c# - 在 C# 中运行从 blob 下载到流中的可执行文件

c# - 我可以在 Xamarin.Forms 中以编程方式更改 styles.xml 吗?

c# - 为什么无法为远程 RunspacePool 传递 InitialSessionState?

c# - 使用用户名和密码从 WPF 应用程序进行 GitHub 身份验证