Konfiguracja protokołu SSL
Włączanie protokołu SSL
Protokół SSL można włączyć, edytując plik cycle_server.properties znajdujący się w katalogu instalacyjnym CycleCloud. Otwórz plik cycle_server.properties za pomocą edytora tekstów i odpowiednio ustaw następujące wartości:
# True if SSL is enabled
webServerEnableHttps=true
webServerRedirectHttp=true
Ważne
Należy pamiętać, że podczas edytowania pliku cycle_server.properties należy najpierw wyszukać istniejące definicje wartości klucza w pliku. Jeśli istnieje więcej niż jedna definicja, ostatnia z nich jest obowiązująca.
Domyślny port SSL dla usługi CycleCloud to port 8443. Jeśli chcesz uruchomić zaszyfrowaną komunikację internetową na innym porcie, możesz zmienić webServerSslPort
właściwość na nową wartość portu. Upewnij się, że webServerSslPort
wartości i webServerPort
NIE POWODUJĄ KONFLIKTU.
Po edycji pliku cycle_server.properties należy ponownie uruchomić usługę CycleCloud, aby zaszyfrowany kanał komunikacyjny został aktywowany:
/opt/cycle_server/cycle_server restart
Zakładając, że port SSL dla usługi CycleCloud nie został zmieniony podczas konfigurowania go pod kątem zaszyfrowanej komunikacji, możesz teraz przejść do strony, aby zweryfikować http://<my CycleCloud address>:8443/
połączenie SSL.
Uwaga
Jeśli adres URL HTTPS nie działa, sprawdź plik <CycleCloud Home>/logs/catalina.err i <CycleCloud Home>/logs/cycle_server.log , aby uzyskać komunikaty o błędach, które mogą wskazywać, dlaczego zaszyfrowany kanał nie odpowiada.
certyfikaty Self-Generated
Jeśli nie masz certyfikatu z urzędu certyfikacji, takiego jak VeriSign, możesz użyć automatycznie wygenerowanego certyfikatu z podpisem własnym dostarczonego z usługą Azure CycleCloud. Jest to szybki sposób na rozpoczęcie korzystania z protokołu SSL bez kosztów, ale większość przeglądarek internetowych wyświetli ostrzeżenie informujące, że zaufany urząd nie zweryfikował certyfikatu używanego do szyfrowania kanału. W niektórych przypadkach, takich jak wewnętrzne wdrożenia Usługi CycleCloud w bezpiecznych sieciach, jest to dopuszczalne. Użytkownicy będą musieli dodać wyjątek do przeglądarki, aby wyświetlić witrynę, ale zawartość i sesja w przeciwnym razie będą szyfrowane zgodnie z oczekiwaniami.
Ostrzeżenie
Certyfikat z podpisem własnym usługi Azure CycleCloud ma skrócony okres ważności. Po wygaśnięciu przeglądarki będą ponownie wystawiać ostrzeżenie dotyczące niezaufanych certyfikatów SSL. Użytkownicy będą musieli jawnie zaakceptować je, aby wyświetlić konsolę sieci Web.
Praca z funkcją Let's Encrypt
Usługa CycleCloud obsługuje certyfikaty z usługi Let's Encrypt. Aby użyć funkcji Let's Encrypt with CycleCloud, musisz:
- włączanie protokołu SSL na porcie 443
- upewnij się, że usługa CycleCloud jest publicznie osiągalna za pośrednictwem portu 443 z nazwą domeny zewnętrznej
Możesz włączyć obsługę szyfrowania let's z opcją "SSL" na stronie ustawień lub uruchamiając polecenie cycle_server keystore automatic DOMAIN_NAME
z komputera CycleCloud.
Praca z certyfikatami CA-Generated
Użycie certyfikatu wygenerowanego przez urząd certyfikacji umożliwi dostęp do sieci Web do instalacji usługi CycleCloud bez wyświetlania zaufanego błędu certyfikatu. Aby rozpocząć proces, najpierw uruchom polecenie:
./cycle_server keystore create_request <FQDN>
Zostanie wyświetlony monit o podanie nazwy domeny, czyli pola "Nazwa pospolita" w podpisanym certyfikacie. Spowoduje to wygenerowanie nowego certyfikatu z podpisem własnym dla określonej domeny i napisanie pliku cycle_server.csr. Należy podać csr do urzędu certyfikacji i dostarczyć certyfikat z podpisem końcowym (który będzie określany jako server.crt poniżej). Potrzebne będą również certyfikaty główne i wszystkie pośrednie używane w łańcuchu między nowym certyfikatem a certyfikatem głównym. Urząd certyfikacji powinien je podać. Jeśli dostarczyły je jako jeden plik certyfikatu, można je zaimportować za pomocą następującego polecenia:
./cycle_server keystore import server.crt
Jeśli podano wiele plików certyfikatów, należy zaimportować je wszystkie jednocześnie dołączając nazwy do tego samego polecenia, oddzielone spacjami:
./cycle_server keystore import server.crt ca_cert_chain.crt
Importowanie istniejących certyfikatów
Jeśli wcześniej utworzono certyfikat urzędu certyfikacji lub certyfikat z podpisem własnym, możesz zaktualizować usługę CycleCloud, aby używać go za pomocą następującego polecenia:
./cycle_server keystore update server.crt
Jeśli chcesz zaimportować plik PFX, możesz to zrobić za pomocą następującego polecenia w pliku CycleCloud 7.9.7 lub nowszym:
./cycle_server keystore import_pfx server.pfx --pass PASSWORD
Zwróć uwagę, że plik PFX może zawierać tylko jeden wpis.
Na koniec, jeśli wprowadzisz zmiany w magazynie kluczy poza tymi poleceniami, możesz natychmiast załadować magazyn kluczy w usłudze CycleCloud 7.9.7 lub nowszej:
./cycle_server keystore reconfig
Konfigurowanie usługi CycleCloud do używania natywnego protokołu HTTPS
Domyślnie usługa Azure CycleCloud jest skonfigurowana do korzystania ze standardowej implementacji protokołu HTTPS we/wy java. To ustawienie domyślne działa dobrze na wszystkich obsługiwanych platformach.
Aby zwiększyć wydajność podczas uruchamiania na platformach z systemem Linux, usługa CycleCloud może opcjonalnie zostać skonfigurowana do korzystania z implementacji Protokołu HTTPS natywnego serwera Tomcat.
Aby włączyć natywny protokół HTTPS w systemie Linux, dodaj webServerEnableHttps
atrybuty i webServerUseNativeHttps
do pliku cycle_server.properties . Otwórz plik cycle_server.properties za pomocą edytora tekstów i ustaw następujące wartości:
# Turn on HTTPS
webServerEnableHttps = true
# Use Native HTTPS connector
webServerUseNativeHttps = true
Zgodność z poprzednimi wersjami protokołu TLS 1.0 i 1.1
Domyślnie łączniki Java i Native HTTPS zostaną skonfigurowane do używania tylko protokołu TLS 1.2. Jeśli musisz zaoferować protokoły TLS 1.0 lub 1.1 dla starszych klientów internetowych, możesz zdecydować się na zgodność z poprzednimi wersjami.
Otwórz plik cycle_server.properties za pomocą edytora tekstów i poszukaj atrybutu sslEnabledProtocols
:
sslEnabledProtocols="TLSv1.2"
Zmień atrybut na rozdzielaną +
listę protokołów, które chcesz obsługiwać.
sslEnabledProtocols="TLSv1.0+TLSv1.1+TLSv1.2"
Wyłączanie niezaszyfrowanej komunikacji
Powyższe ustawienia umożliwiają wykonywanie niezaszyfrowanych połączeń (HTTP), ale są przekierowywane do protokołu HTTPS w celu zapewnienia bezpieczeństwa.
Możesz uniemożliwić niezaszyfrowany dostęp do instalacji usługi CycleCloud. Aby wyłączyć niezaszyfrowaną komunikację, otwórz plik cycle_server.properties w edytorze tekstów.
webServerEnableHttp
Wyszukaj właściwość i zmień ją na:
# HTTP
webServerEnableHttp=false
Zapisz zmiany i uruchom ponownie aplikację CycleCloud. Dostęp HTTP do usługi CycleCloud zostanie wyłączony.