6

Gdy próbuje wdrożyć aplikację internetową do Azure przy użyciu konta usługi z biblioteką klienta Google NET to wraca z następującym błędemserwer Web otrzymał niepoprawną odpowiedź działając jako brama lub serwer proxy

502 - Serwer sieci Web otrzymał nieprawidłową odpowiedź, działając jako brama lub serwer proxy .

przykładem Kod:

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", 
       }); 

Powyższy kod działa, gdy uruchomić w rozwoju. Jednak po wdrożeniu w AZURE zwraca błąd.

Odpowiedz

7

Zajęło mi około 2 godzin, aby wyśledzić problem

Zagadnienie to zrobić z ze sposobu, w jaki Azure zajmuje się certyfikatami.

Przez zmiana spowoduje następującą linię

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

do tego

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

aplikacji internetowej oraz konto usługi teraz pracować na Azure. Mam nadzieję, że to pomoże komuś w przyszłości.

+1

TKS, uratujesz mi życie ...: D – Danilo

+1

Tak, uratowałeś też moje życie! :RE – user1019042