Udostępnij za pośrednictwem


Włączanie komunikacji HTTPS w usługach Azure Cloud Services (rozszerzona obsługa)

Komunikacja z usługami Microsoft Azure Cloud Services (rozszerzona obsługa) odbywa się przy użyciu protokołu Https (Hypertext Transfer Protocol Secure). W tym artykule omówiono sposób włączania komunikacji HTTPS dla usług Cloud Services (rozszerzona obsługa).

Wymagania wstępne

Ogólne kroki wdrażania projektu

Ogólne kroki wdrażania projektu usług Cloud Services (rozszerzonej pomocy technicznej) na platformie Azure są następujące:

  1. Przygotuj certyfikat.

  2. Skonfiguruj projekt.

  3. Spakuj plik projektu do plików definicji usługi (csdef), konfiguracji usługi (.cscfg) i pakietu usługi (cspkg) usługi w usłudze w chmurze.

  4. W razie potrzeby zmień konfigurację zasobu usług Cloud Services (wsparcie dodatkowe). Można na przykład wprowadzić dowolną z następujących modyfikacji:

    1. Zaktualizuj adres URL pakietu.
    2. Skonfiguruj ustawienie adresu URL.
    3. Zaktualizuj ustawienie wpisów tajnych systemu operacyjnego.
  5. Wdrażanie i aktualizowanie nowego projektu na platformie Azure.

Uwaga 16.

Projekt można wdrożyć za pomocą kilku różnych metod, takich jak za pomocą następujących narzędzi:

  • Visual Studio
  • Szablon usługi Azure Resource Manager (szablon usługi ARM)
  • Narzędzie ciągłej integracji i ciągłego dostarczania (CI/CD), takie jak Usługa Azure DevOps

Niezależnie od metody wdrażania ogólne kroki wdrażania są takie same.

Pierwsze dwa z tych kroków są niezbędne dla wszystkich metod wdrażania. Te kroki zostały omówione w sekcji Zmiany kodu. Pozostałe kroki są również ważne, ale nie zawsze wymagają ręcznej interwencji użytkownika. Na przykład kroki mogą być wykonywane automatycznie przez narzędzie, takie jak Visual Studio. Ostatnie trzy z tych kroków zostały omówione w sekcji Zmiany konfiguracji.

Zmiany kodu

Aby wprowadzić zmiany kodu w celu przygotowania certyfikatu i skonfigurowania projektu, wykonaj następujące kroki:

  1. Postępuj zgodnie z instrukcjami, aby przekazać certyfikat do magazynu kluczy za pomocą kroku 6.

  2. Zapisz odcisk palca certyfikatu (40-cyfrowy ciąg szesnastkowy).

  3. W pliku konfiguracji usługi (cscfg) projektu dodaj odcisk palca certyfikatu do roli, w której chcesz użyć certyfikatu. Jeśli na przykład chcesz użyć certyfikatu jako certyfikatu SSL do komunikowania się z elementem WebRole, możesz dodać kod XML podobny do następującego fragmentu kodu jako WebRole1 pierwszego elementu głównego ServiceConfiguration :

    <Role name="WebRole1">
      <Instances count="1" />
      <Certificates>
        <Certificate
          name="Certificate1"
          thumbprint="0123456789ABCDEF0123456789ABCDEF01234567"
          thumbprintAlgorithm="sha1"
        />
      </Certificates>
    </Role>
    

    Możesz dostosować nazwę certyfikatu, ale musi być zgodna z nazwą certyfikatu używaną w pliku definicji usługi (csdef).

  4. W pliku definicji usługi (csdef) dodaj następujące elementy.

    Nadrzędny XPath Elementy do dodania Atrybuty do użycia
    /ServiceDefinition/WebRole/Sites/Site/Bindings Binding name, endpointName
    /ServiceDefinition/WebRole/Endpoints InputEndpoint name, protocol, port, certificate
    /ServiceDefinition/WebRole Certificates/Certificate name, storeLocation, storeName, permissionLevel

    Element Certificates musi zostać dodany bezpośrednio po tagu zamykającym Endpoints . Nie zawiera żadnych atrybutów. Zawiera tylko elementy podrzędne Certificate .

    Na przykład plik definicji usługi może przypominać następujący kod XML:

    <?xml version="1.0" encoding="utf-8"?>
    <ServiceDefinition name="CSESOneWebRoleHTTPS" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2015-04.2.6">
      <WebRole name="WebRole1" vmsize="Standard_D1_v2">
        <Sites>
          <Site name="Web">
            <Bindings>
              <Binding name="Endpoint1" endpointName="Endpoint1" />
              <Binding name="HttpsIn" endpointName="HttpsIn" />
            </Bindings>
          </Site>
        </Sites>
        <Endpoints>
          <InputEndpoint name="Endpoint1" protocol="http" port="80" />
          <InputEndpoint name="HttpsIn" protocol="https" port="443" certificate="Certificate1" />
        </Endpoints>
        <Certificates>
          <Certificate name="Certificate1" storeLocation="LocalMachine" storeName="My" permissionLevel="limitedOrElevated" />
        </Certificates>
      </WebRole>
    </ServiceDefinition>
    

    W tym przykładzie plik definicji usługi jest modyfikowany w celu powiązania wejściowego punktu końcowego HttpsIn protokołu HTTPS na porcie 443. Używa certyfikatu Certificate1 dla magazynu, który ma nazwę My i lokalizację LocalMachine tylko dla ograniczonego lub podwyższonego poziomu uprawnień. Nazwy certyfikatów w elementach InputEndpoint i Certificate są zgodne ze sobą. Są one również zgodne z nazwą certyfikatu, która została użyta w pliku konfiguracji usługi (cscfg) z poprzedniego kroku.

Zmiany konfiguracji

Instrukcje dotyczące zmiany konfiguracji usługi w chmurze różnią się w zależności od sposobu wdrożenia usługi w chmurze. Te instrukcje są wyświetlane na poniższych kartach. Każda karta reprezentuje inną metodę wdrażania.

Przed kontynuowaniem zobacz Wdrażanie usług Azure Cloud Services (wsparcie dodatkowe) przy użyciu witryny Azure Portal. Następnie wykonaj następujące kroki, aby wprowadzić prawidłowe zmiany konfiguracji w witrynie Azure Portal:

  1. Przejdź do wpisu w blogu zatytułowanego Manual migration from classic Cloud Service to Cloud Service Extended Support with ARM template (Migracja ręczna z klasycznej usługi w chmurze do rozszerzonej obsługi usługi w chmurze przy użyciu szablonu arm) i wykonaj kroki od 7 do 9. Te instrukcje pokazują, jak wykonać następujące czynności:

    • Spakuj projekt.

    • Przekaż wygenerowany pakiet usługi (<project-name.cspkg>) i konfigurację usługi w chmurze (ServiceConfiguration.Cloud.cscfg) do kontenera konta magazynu dla usługi w chmurze.

      Uwaga 16.

      Musisz również przekazać plik definicji usługi (ServiceDefinition.csdef) przy użyciu tego samego procesu, który został opisany dla pozostałych dwóch plików.

    • Wygeneruj adres URL sygnatury dostępu współdzielonego (SAS) dla każdego przekazanego pliku.

  2. W witrynie Azure Portal wróć do strony Przegląd usługi w chmurze, a następnie wybierz pozycję Aktualizuj.

  3. Na stronie Aktualizowanie usługi w chmurze wprowadź następujące zmiany na karcie Podstawy:

    1. W polu Lokalizacja definicji pakietu/konfiguracji/usługi wybierz pozycję Z obiektu blob.

    2. W polu Przekaż pakiet (.cspkg, .zip) wykonaj następujące kroki:

      1. Wybierz link Przeglądaj.
      2. Wybierz konto magazynu i kontener, do którego zostały przekazane pliki.
      3. Na stronie kontenera wybierz odpowiedni plik (w tym przypadku project-name.cspkg>), a następnie wybierz przycisk Wybierz.<
    3. W polu Przekaż konfigurację (cscfg) (i plik ServiceConfiguration.Cloud.cscfg) powtórz podprocedurę opisaną w poprzednim kroku.

    4. W polu Przekaż definicję usługi (csdef) (i plik ServiceDefinition.csdef) powtórz ponownie podprocedure.

  4. Wybierz kartę Konfiguracja.

  5. W polu Magazyn kluczy wybierz magazyn kluczy, w którym przekazano certyfikat (wcześniej w sekcji Zmiany kodu). Po znalezieniu certyfikatu w wybranym magazynie kluczy wyświetlony zostanie stan znaleziono.

  6. Aby wdrożyć nowo skonfigurowany projekt, wybierz przycisk Aktualizuj .

Po wprowadzeniu zmian konfiguracji klienci będą mogli komunikować się z witryną internetową usług w chmurze przy użyciu protokołu HTTPS. Jeśli certyfikat jest podpisany samodzielnie, przeglądarka może zgłosić ostrzeżenie, że certyfikat nie jest bezpieczny, ale przeglądarka nie zablokuje połączenia.

Skontaktuj się z nami, aby uzyskać pomoc

Jeśli masz pytania lub potrzebujesz pomocy, utwórz wniosek o pomoc techniczną lub zadaj pytanie w społeczności wsparcia dla platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii na temat platformy Azure.