6

При попытке развернуть веб-приложения для Azure с использованием учетной записи службы с Google .net клиентской библиотеки он возвращается со следующей ошибкойвеб-сервер получил недопустимый ответ, действуя в качестве шлюза или прокси-сервер

502 - веб-сервер получил недействительный ответ, выступая в качестве шлюза или прокси-сервера.

Пример кода:

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 он возвращает ошибку.

ответ

7

Это заняло у меня около 2 часов, чтобы отследить проблему

вопрос должен сделать с тем, как что Azure имеет дело с сертификатами.

По changeing следующую строку

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

к этому

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

веб-приложения и учетной записи службы в настоящее время работают на Azure. Надеюсь, это поможет кому-то в будущем.

+1

tks man, вы экономите мою жизнь ...: D – Danilo

+1

Да, вы тоже спасли мою жизнь! : D – user1019042