Mapuj istniejącą domenę niestandardową na usługę Azure Spring Apps
Uwaga
Plany Podstawowa, Standardowa i Enterprise zostaną wycofane od połowy marca 2025 r. z 3-letnim okresem emerytalnym. Zalecamy przejście do usługi Azure Container Apps. Aby uzyskać więcej informacji, zobacz ogłoszenie o wycofaniu usługi Azure Spring Apps.
Zużycie standardowe i dedykowany plan zostaną wycofane od 30 września 2024 r. z całkowitym zamknięciem po sześciu miesiącach. Zalecamy przejście do usługi Azure Container Apps. Aby uzyskać więcej informacji, zobacz Migrowanie użycia usługi Azure Spring Apps w warstwie Standardowa i dedykowanego planu do usługi Azure Container Apps.
Ten artykuł dotyczy: ✔️ Java ✔️ C#
Ten artykuł dotyczy: ✔️ Standard ✔️ Enterprise
Usługa dns (Domain Name Service) to technika przechowywania nazw węzłów sieciowych w sieci. Ten artykuł mapuje domenę, taką jak www.contoso.com
, przy użyciu rekordu CNAME. Zabezpiecza domenę niestandardową przy użyciu certyfikatu i pokazuje, jak wymusić protokół Transport Layer Security (TLS), znany również jako Secure Sockets Layer (SSL).
Certyfikaty szyfrują ruch internetowy. Te certyfikaty TLS/SSL można przechowywać w usłudze Azure Key Vault.
Wymagania wstępne
- Subskrypcja platformy Azure. Jeśli nie masz subskrypcji, przed rozpoczęciem utwórz bezpłatne konto .
- (Opcjonalnie) Interfejs wiersza polecenia platformy Azure w wersji 2.45.0 lub nowszej. Użyj następującego polecenia, aby zainstalować rozszerzenie Azure Spring Apps:
az extension add --name spring
- Aplikacja wdrożona w usłudze Azure Spring Apps (zobacz Szybki start: uruchamianie istniejącej aplikacji w usłudze Azure Spring Apps przy użyciu witryny Azure Portal lub używanie istniejącej aplikacji). Jeśli aplikacja jest wdrażana przy użyciu planu podstawowego, pamiętaj o uaktualnieniu do planu w warstwie Standardowa.
- Nazwa domeny z dostępem do rejestru DNS dla dostawcy domeny, takiego jak GoDaddy.
- Certyfikat prywatny (czyli certyfikat z podpisem własnym) od dostawcy innej firmy. Certyfikat musi być zgodny z domeną.
- Wdrożone wystąpienie usługi Azure Key Vault. Aby uzyskać więcej informacji, zobacz About Azure Key Vault (Informacje o usłudze Azure Key Vault).
Zagadnienia dotyczące linku prywatnego usługi Key Vault
Adresy IP zarządzania usługą Azure Spring Apps nie są jeszcze częścią zaufanej usługi firmy Microsoft platformy Azure. W związku z tym aby umożliwić usłudze Azure Spring Apps ładowanie certyfikatów z usługi Key Vault chronionego za pomocą prywatnych połączeń punktów końcowych, należy dodać następujące adresy IP do zapory usługi Azure Key Vault:
20.99.204.111
20.201.9.97
20.74.97.5
52.235.25.35
20.194.10.0
20.59.204.46
104.214.186.86
52.153.221.222
52.160.137.39
20.39.142.56
20.199.190.222
20.79.64.6
20.211.128.96
52.149.104.144
20.197.121.209
40.119.175.77
20.108.108.22
102.133.143.38
52.226.244.150
20.84.171.169
20.93.48.108
20.75.4.46
20.78.29.213
20.106.86.34
20.193.151.132
Importowanie certyfikatu
Przygotowywanie pliku certyfikatu w pliku PFX (opcjonalnie)
Usługa Azure Key Vault obsługuje importowanie certyfikatu prywatnego w formacie PEM i PFX. Jeśli plik PEM uzyskany od dostawcy certyfikatów nie działa w sekcji Zapisywanie certyfikatu w usłudze Key Vault , wykonaj kroki opisane tutaj, aby wygenerować plik PFX dla usługi Azure Key Vault.
Scalanie certyfikatów pośrednich
Jeśli Twój urząd certyfikacji dał Ci wiele certyfikatów w łańcuchu certyfikatów, musisz kolejno scalić certyfikaty.
Aby wykonać to zadanie, otwórz każdy certyfikat otrzymany w edytorze tekstów.
Utwórz plik scalonego certyfikatu o nazwie mergedcertificate.crt. W edytorze tekstów skopiuj zawartość każdego certyfikatu do tego pliku. Kolejność certyfikatów powinna być zgodna z kolejnością w łańcuchu certyfikatów, poczynając od Twojego certyfikatu i kończąc na certyfikacie głównym. Wygląda to następująco:
-----BEGIN CERTIFICATE-----
<your entire Base64 encoded SSL certificate>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<The entire Base64 encoded intermediate certificate 1>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<The entire Base64 encoded intermediate certificate 2>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<The entire Base64 encoded root certificate>
-----END CERTIFICATE-----
Eksportowanie certyfikatu do pliku PFX
Wyeksportuj scalony certyfikat TLS/SSL z kluczem prywatnym wygenerowany przez żądanie certyfikatu.
Jeśli żądanie certyfikatu zostało wygenerowane przy użyciu biblioteki OpenSSL, został utworzony plik klucza prywatnego. Aby wyeksportować certyfikat do pliku PFX, uruchom następujące polecenie. Zastąp symbole <zastępcze private-key-file> i <merged-certificate-file> ścieżkami do klucza prywatnego i scalonego pliku certyfikatu.
openssl pkcs12 -export -out myserver.pfx -inkey <private-key-file> -in <merged-certificate-file>
Po wyświetleniu monitu określ hasło eksportu. Użyj tego hasła podczas przekazywania certyfikatu TLS/SSL do usługi Azure Key Vault później.
Jeśli używasz usług IIS lub programu Certreq.exe do wygenerowania swojego żądania certyfikatu, zainstaluj certyfikat na komputerze lokalnym, a następnie wyeksportuj certyfikat do pliku PFX.
Zapisywanie certyfikatu w usłudze Key Vault
Procedura importowania certyfikatu wymaga, aby plik zakodowany PEM lub PFX był na dysku i musi mieć klucz prywatny.
Wykonaj następujące kroki, aby przekazać certyfikat do magazynu kluczy:
Przejdź do wystąpienia magazynu kluczy.
W okienku nawigacji wybierz pozycję Certyfikaty.
W górnym menu wybierz pozycję Generuj/importuj.
Na stronie Tworzenie certyfikatu wybierz pozycję Importuj dla pozycji Metoda tworzenia certyfikatu, a następnie podaj wartość w polu Nazwa certyfikatu.
W obszarze Przekaż plik certyfikatu przejdź do lokalizacji certyfikatu i wybierz go.
W obszarze Hasło, jeśli przekazujesz plik certyfikatu chronionego hasłem, podaj to hasło tutaj. W przeciwnym razie pozostaw to pole puste. Po pomyślnym zaimportowaniu pliku certyfikatu magazyn kluczy usuwa to hasło.
Wybierz pozycję Utwórz.
Udzielanie usłudze Azure Spring Apps dostępu do magazynu kluczy
Przed zaimportowanie certyfikatu musisz przyznać usłudze Azure Spring Apps dostęp do magazynu kluczy.
Aby udzielić dostępu przy użyciu witryny Azure Portal, wykonaj następujące kroki:
Przejdź do wystąpienia magazynu kluczy.
W okienku nawigacji wybierz pozycję Zasady dostępu.
W górnym menu wybierz pozycję Utwórz.
Wypełnij informacje, a następnie wybierz przycisk Dodaj, a następnie pozycję Utwórz zasady dostępu.
Uprawnienie wpisu tajnego Uprawnienie certyfikatu Wybierz podmiot zabezpieczeń Pobierz, Lista Pobierz, Lista Zarządzanie domeną usługi Azure Spring Apps Uwaga
Jeśli nie znajdziesz "Azure Spring Apps Domain-Management", wyszukaj frazę "Azure Spring Cloud Domain-Management".
Importowanie certyfikatu do usługi Azure Spring Apps
Aby zaimportować certyfikat, wykonaj następujące czynności:
Przejdź do wystąpienia usługi Azure Spring Apps.
W okienku nawigacji wybierz pozycję Ustawienia protokołu TLS/SSL.
Wybierz pozycję Importuj certyfikat magazynu kluczy.
Na stronie Wybieranie certyfikatu z platformy Azure wybierz z listy rozwijanej opcje Subskrypcja, Key Vault i Certyfikat, a następnie wybierz pozycję Wybierz.
Na otwartej stronie Ustaw nazwę certyfikatu wprowadź nazwę certyfikatu, wybierz pozycję Włącz automatyczną synchronizację w razie potrzeby, a następnie wybierz pozycję Zastosuj. Aby uzyskać więcej informacji, zobacz sekcję Auto sync certificate (Certyfikat automatycznej synchronizacji).
Po pomyślnym zaimportowaniu certyfikatu zostanie wyświetlony na liście Certyfikaty kluczy prywatnych.
Ważne
Aby zabezpieczyć domenę niestandardową przy użyciu tego certyfikatu, pamiętaj o powiązaniu certyfikatu z określoną domeną. Aby uzyskać więcej informacji, zobacz sekcję Dodawanie powiązania SSL.
Certyfikat automatycznej synchronizacji
Certyfikat przechowywany w usłudze Azure Key Vault czasami jest odnawiany przed jego wygaśnięciem. Podobnie zasady zabezpieczeń organizacji do zarządzania certyfikatami mogą wymagać, aby zespół DevOps regularnie zastępował certyfikaty nowymi. Po włączeniu automatycznej synchronizacji certyfikatu usługa Azure Spring Apps regularnie synchronizuje magazyn kluczy dla nowej wersji — zwykle co 24 godziny. Jeśli jest dostępna nowa wersja, usługa Azure Spring Apps importuje ją, a następnie ponownie ładuje ją dla różnych składników przy użyciu certyfikatu bez powodowania przestojów. Na poniższej liście przedstawiono objęte składniki i odpowiednie scenariusze:
- App
- Domena niestandardowa
- VMware Spring Cloud Gateway
- Domena niestandardowa
- Portal interfejsu API dla programu VMware Tanzu
- Domena niestandardowa
- Akcelerator aplikacji VMware Tanzu
- Nawiązywanie połączenia z repozytorium Git przy użyciu certyfikatu z podpisem własnym.
- Usługa konfiguracji aplikacji dla tanzu
- Nawiązywanie połączenia z repozytorium Git przy użyciu certyfikatu z podpisem własnym.
Gdy usługa Azure Spring Apps importuje lub ponownie ładuje certyfikat, generowany jest dziennik aktywności. Aby wyświetlić dzienniki aktywności, przejdź do wystąpienia usługi Azure Spring Apps w witrynie Azure Portal i wybierz pozycję Dziennik aktywności w okienku nawigacji.
Uwaga
Funkcja automatycznej synchronizacji certyfikatów współpracuje z certyfikatami prywatnymi i certyfikatami publicznymi zaimportowanymi z usługi Azure Key Vault. Ta funkcja jest niedostępna w przypadku certyfikatów zawartości przekazywanych przez klienta.
Funkcję automatycznej synchronizacji certyfikatów można włączyć lub wyłączyć podczas importowania certyfikatu z magazynu kluczy do usługi Azure Spring Apps. Aby uzyskać więcej informacji, zobacz sekcję Importowanie certyfikatu do usługi Azure Spring Apps .
Możesz również włączyć lub wyłączyć tę funkcję dla certyfikatu, który został już zaimportowany do usługi Azure Spring Apps.
Wykonaj następujące kroki, aby włączyć lub wyłączyć automatyczną synchronizację dla zaimportowanego certyfikatu:
Dodawanie domeny niestandardowej
Możesz użyć rekordu CNAME, aby zamapować niestandardową nazwę DNS na usługę Azure Spring Apps.
Uwaga
Rekord A nie jest obsługiwany.
Tworzenie rekordu CNAME
Przejdź do dostawcy DNS i dodaj rekord CNAME, aby zamapować domenę na <service-name>.azuremicroservices.io
. <service-name>
Oto nazwa wystąpienia usługi Azure Spring Apps. Obsługujemy domenę z symbolami wieloznacznymi i domenę podrzędną.
Po dodaniu rekordu CNAME strona rekordów DNS przypomina następujący przykład:
Mapuj domenę niestandardową na aplikację Azure Spring Apps
Jeśli nie masz aplikacji w usłudze Azure Spring Apps, postępuj zgodnie z instrukcjami w przewodniku Szybki start: wdrażanie pierwszej aplikacji w usłudze Azure Spring Apps.
Wykonaj następujące kroki, aby powiązać domenę niestandardową z aplikacją:
Przejdź do strony aplikacji.
Wybierz pozycję Domena niestandardowa.
Wybierz pozycję Dodaj domenę niestandardową.
Wpisz w pełni kwalifikowaną nazwę domeny, dla której dodano rekord CNAME, taki jak
www.contoso.com
. Upewnij się, że dla typu rekordu Nazwa hosta ustawiono wartość CNAME —<service-name>.azuremicroservices.io
.Wybierz pozycję Weryfikuj , aby włączyć przycisk Dodaj .
Wybierz Dodaj.
Jedna aplikacja może mieć wiele domen, ale jedna domena może mapować tylko na jedną aplikację. Gdy domena niestandardowa została pomyślnie zamapowana na aplikację, zostanie ona wyświetlona w tabeli domeny niestandardowej.
Uwaga
Etykieta Nieubezpieczona dla domeny niestandardowej oznacza, że nie jest jeszcze powiązana z certyfikatem SSL. Każde żądanie HTTPS z przeglądarki do domeny niestandardowej otrzymuje błąd lub ostrzeżenie.
Dodawanie powiązania SSL
Aby zaktualizować domenę niestandardową aplikacji, wykonaj następujące czynności:
W tabeli domen niestandardowych wybierz pozycję Dodaj powiązanie ssl, jak pokazano na poprzedniej ilustracji.
Wybierz certyfikat lub zaimportuj go.
Wybierz pozycję Zapisz.
Po pomyślnym dodaniu powiązania SSL stan domeny jest bezpieczny: w dobrej kondycji.
Wymuszanie protokołu HTTPS
Domyślnie każda osoba nadal może uzyskać dostęp do aplikacji przy użyciu protokołu HTTP, ale możesz przekierować wszystkie żądania HTTP do portu HTTPS.
Na stronie aplikacji w obszarze nawigacji wybierz pozycję Domena niestandardowa. Następnie ustaw wartość Tylko protokół HTTPS na Yes
wartość .
Po zakończeniu operacji przejdź do dowolnego z adresów URL PROTOKOŁU HTTPS wskazujących aplikację. Pamiętaj, że adresy URL HTTP nie działają.