KAMI911.tomcat

Rola Ansible: Instalacja serwera aplikacji Java Apache Tomcat (opcjonalnie z Hugepages)

Instaluje serwer aplikacji Java Apache Tomcat. Najpełniejsza instalacja Tomcat, wspierająca skrypt init.d, nazwę aplikacji, hugepages, zabezpieczenia, ładne strony błędów, hasła haszowane sha512, konfigurację JMX, wiele wersji Tomcat, oddzielne catalina_home i catalina_base.

Status budowy

Spis treści

  1. Wymagania
  2. Instalacja
  3. Zmienne roli
  4. Zależności
  5. Przykładowy Playbook
  6. Licencjonowanie
  7. Informacje o autorze
  8. Wsparcie
  9. Współpraca
  10. Darowizna

Wymagania

Brak.

Instalacja

ansible-galaxy install kami911.tomcat

Zmienne roli

Dostępne zmienne są wymienione poniżej wraz z wartościami domyślnymi (zobacz defaults/main.yml):

Opcje związane z instalacją

tomcat_manage_java_pkg: False

Czy Tomcat ma zarządzać instalacją Java i zainstalować OpenJDK czy nie.

tomcat_installer_force_download: true

Zawsze pobieraj plik instalacyjny. Jeśli już pobrany, spróbuj go ponownie pobrać.

tomcat_download_mirror: https://archive.apache.org

Lustro do pobierania pliku instalacyjnego.

tomcat_download_url: '{{ tomcat_download_mirror }}/dist/tomcat/tomcat-{{ tomcat_majorversion }}/v{{ tomcat_majorversion }}.{{ tomcat_minorversion }}.{{ tomcat_patchversion }}/bin/{{ tomcat_download_file }}'

Pełny adres URL do pliku instalacyjnego.

tomcat_installer_force_overwrite: true

Zawsze nadpisuj plik instalacyjny na docelowej maszynie.

tomcat_installer_keep: true

Nie usuwaj instalatora po pomyślnej instalacji.

tomcat_installer_local: false

Pobierz plik instalacyjny na hosta Ansible (nie na maszynę docelową) bezpośrednio. Ansible będzie pobierać i kopiować plik instalacyjny z hosta Ansible.

tomcat_download_validate_certs: false

Weryfikuj certyfikaty podczas pobierania zewnętrznego pliku instalacyjnego.

tomcat_force_update: false

Wymusza aktualizację, gdy ta sama wersja jest już zainstalowana. Stara wersja jest zawsze aktualizowana.

Opcje związane z wersją

tomcat_majorversion: 8

Główna wersja Tomcat.

tomcat_minorversion: 5

Pomocnicza wersja Tomcat.

tomcat_patchversion: 4

Mikrowersja Tomcat.

tomcat_java_version: 11

Konfiguruj Tomcat do używania określonej wersji Java.

Opcje związane z użyciem Hugepages

tomcat_use_huge_pages: True

Używaj Huge Pages (Java nazywa to: UseLargePages) w celu poprawy wydajności aplikacji Java. Gdy proces używa pamięci, CPU oznacza RAM jako używany przez ten proces. Aby zwiększyć wydajność, CPU przydziela RAM w kawałkach o rozmiarze 4K bajtów (to domyślna wartość na wielu platformach). Te kawałki nazywane są stronami. Te strony mogą być wymieniane na dysk itp.

Ponieważ przygotowanie przestrzeni adresowej procesu jest wirtualne, CPU i system operacyjny muszą pamiętać, która strona należy do jakiego procesu i gdzie jest przechowywana. Oczywiście im więcej stron masz, tym więcej czasu zajmuje znalezienie, gdzie pamięć jest mapowana. Gdy proces używa 1GB pamięci, to 262144 wpisów do przeszukania (1GB / 4K). Jeśli jeden wpis tablicy stron zajmuje 8 bajtów, to 2MB (262144 * 8) do przeszukania.

Główna Wiki Debian: Hugepages

Kiedy to włączysz, użyj KAMI911:hugepages do konfiguracji Huge Pages w Linuxie.

Opcje związane z portem, połączeniem i zaporą

tomcat_manage_firewalld: true

Rola zarządza ustawieniami zapory wymaganych portów.

tomcat_enable_firewalld: false

Wymusza instalację i włączenie usługi firewalld.

tomcat_manage_firewalld_use_zone: true

Zarządzanie strefami firewalld Tomcat (domyślnie) lub użycie adresów źródłowych.

"Connector" reprezentuje punkt końcowy, przez który otrzymywane są żądania i zwracane są odpowiedzi. Dokumentacja dostępna pod:

  • Java HTTP Connector: /docs/config/http.html
  • Java AJP Connector: /docs/config/ajp.html
  • APR (HTTP/AJP) Connector: /docs/apr.html

Zdefiniuj nieszyfrowany/nieszyfrowany konektor HTTP/1.1

Wszystkie konfiguracje związane z konektorami, portem i zaporą gromadzone są w zmiennej o nazwie tomcat_server:

tomcat_server:
  - port: 8080  # Port połączenia HTTP, na którym nasłuchuje Tomcat.
    connector:
      protocol: 'HTTP/1.1'
      connectionTimeout: 20000
      redirectPort: 8444
      Server: ' '
      URIEncoding: UTF-8
      Secure: false
      compressibleMimeType: 'text/html,text/xml,text/css,text/javascript,application/x-javascript,application/javascript,text/plain'  # Kompresowalne typy MIME połączenia HTTP Tomcat.
      compression: on  # Włączenie/wyłączenie kompresji połączenia HTTP Tomcat.
      compressionMinSize: 256  # Minimalny rozmiar pliku skompresowanego dla połączenia HTTP Tomcat.
      noCompressionUserAgents: ''  # Połączenie HTTP Tomcat musi być nieskompresowane dla tych agentów użytkowników przeglądarki.
    source: []  # Dostosuj to zgodnie z twoją siecią
    #  - '192.168.10.0/24'
    #  - '172.20.10.0/23'
    executor:  # Jeśli chcesz to używać, określ wykonawcę. Nie zapomnij użyć go w ustawieniach konektora przez klucz 'executor'.
      name: tomcatHTTPThreadPool
      namePrefix: catalina-exec-http-
      maxThreads: 300
      minSpareThreads: 5
  - port: 8009  # Port połączenia HTTP, na którym nasłuchuje Tomcat.
    connector:
      protocol: 'AJP/1.3'
      redirectPort: 8444
    source: []  # Dostosuj to zgodnie z twoją siecią
    #  - '0.0.0.0/0'
    #  - '60.60.60.60/0'
    executor:    # Jeśli chcesz to używać, określ wykonawcę. Nie zapomnij użyć go w ustawieniach konektora przez klucz 'executor'.
      name: tomcatAJPThreadPool
      namePrefix: catalina-exec-ajp-
      maxThreads: 900
      minSpareThreads: 20
    # zone: []  # Strefa zapory połączenia HTTP, na którym nasłuchuje Tomcat.
    #  - 'internal'

Konektor Tomcat może korzystać ze wspólnej puli wątków zwanej executor dla połączeń http/ajp/https.

Opcje związane z kodowaniem

tomcat_file_encoding: UTF-8

Parametr kodowania plików Tomcat: UTF-8

tomcat_page_encoding: UTF-8

Parametr kodowania stron Tomcat: UTF-8

Opcje związane z lokalizacją

Lokalizacje identyfikują określony język i region geograficzny.

Więcej informacji na temat ustawień lokalizacyjnych Java można znaleźć tutaj: https://www.oracle.com/technical-resources/articles/javase/locale.html

tomcat_locale_language: en

Kody językowe są określone przez ISO 639, międzynarodowy standard, który przypisuje dwu- i trzy-literowe kody większości języków świata. Lokalizacja używa dwu-literowych kodów do identyfikacji docelowego języka.

tomcat_locale_country: EN

Kody krajowe są określone przez ISO 3166, kolejny międzynarodowy standard. Definiuje dwu- i trzy-literowe skróty dla każdego kraju lub większego regionu na świecie. W przeciwieństwie do kodów językowych, kody krajowe podawane są wielkimi literami.

tomcat_locale_region:

Kody krajowe i regiony definiowane są przez ISO 3166, kolejny międzynarodowy standard.

tomcat_locale_variant:

System operacyjny (OS), przeglądarka i inni dostawcy oprogramowania mogą używać tego kodu, aby zapewnić dodatkowe funkcje lub dostosowanie, które nie są możliwe tylko z oznaczeniami języka i kraju. Na przykład, firma oprogramowania może potrzebować wskazać lokalizację dla określonego systemu operacyjnego, więc jej deweloperzy mogą utworzyć lokalizację es_ES_MAC lub es_ES_WIN dla platform Macintosh lub Windows dla klientów w Hiszpanii.

Opcje związane z konfiguracją pamięci

tomcat_java_heap_min: 4096

Minimalny rozmiar pamięci Java. Rozmiary pamięci w megabajtach (m).

tomcat_java_heap_max: 4096

Maksymalny rozmiar pamięci Java. Rozmiary pamięci w megabajtach (m).

tomcat_java_permsize_min: 384

Minimalny rozmiar trwałej generacji Java. Rozmiary pamięci w megabajtach (m). Tylko dla Java 7 i starszych.

tomcat_java_permsize_max: 384

Minimalny rozmiar trwałej generacji Java. Rozmiary pamięci w megabajtach (m). Tylko dla Java 7 i starszych.

tomcat_java_thread_stack_size: 512

Rozmiar stosu wątku Java w kilobajtach (k)

Dodatkowe parametry Java

Sprawdź parametry Java według wersji.

Opcje związane z biblioteką natywną

tomcat_native_library_enable: false

Spróbuj użyć biblioteki natywnej Tomcat. Biblioteka natywna Apache Tomcat jest opcjonalnym składnikiem do użycia z Apache Tomcat, który pozwala Tomcat na korzystanie z pewnych natywnych zasobów dla wydajności, kompatybilności itp.

Więcej informacji: https://tomcat.apache.org/native-doc/

Opcje związane z logowaniem

tomcat_catalina_logs_directory_mode: "u=rwx,g=rwx,o="

Tryb katalogu logów Tomcat Catalina.

tomcat_access_log_filename: '{{ tomcat_system_name }}_access'

Ustaw domyślną nazwę pliku logu dostępu Tomcat.

tomcat_access_log_extension: '.log'

Ustaw domyślny rozszerzenie pliku logu dostępu Tomcat.

tomcat_access_log_pattern: "%{yyyy-MM-dd}tT%{HH:mm:ss.SSSXXXZ}t ${shortSystemName} %v %h (%{X-Forwarded-For}i) %A:%p %I %u "%r" %s %b %D %{Referer}i %{User-Agent}i"

String wzorca logu dostępu Tomcat. Logowanie dostępu Tomcat:

Wartości dla atrybutu wzorca składają się z literalnych ciągów tekstowych, połączonych z identyfikatorami wzorców poprzedzonymi znakiem „%”, aby spowodować zastąpienie odpowiednią wartością zmiennej z aktualnego żądania i odpowiedzi. Następujące kody wzorców są obsługiwane:

%a - Zdalny adres IP
%A - Lokalny adres IP
%b - Wysłane bajty, z wyłączeniem nagłówków HTTP, lub '-' jeśli zero
%B - Wysłane bajty, z wyłączeniem nagłówków HTTP
%h - Zdalna nazwa hosta (lub adres IP, jeśli enableLookups dla konektora jest false)
%H - Protokół żądania
%l - Zdalna nazwa użytkownika z identd (zawsze zwraca '-')
%m - Metoda żądania (GET, POST itp.)
%p - Lokalny port, na którym to żądanie zostało odebrane. Zobacz także %{xxx}p poniżej.
%q - Ciąg zapytań (poprzedzony '?' jeśli istnieje)
%r - Pierwsza linia żądania (metoda i URI żądania)
%s - Kod statusu HTTP odpowiedzi
%S - Identyfikator sesji użytkownika
%t - Data i godzina, w formacie Common Log
%u - Zdalny użytkownik, który został uwierzytelniony (jeśli istnieje), w przeciwnym razie '-'
%U - Ścieżka URL żądanej
%v - Nazwa lokalnego serwera
%D - Czas potrzebny do przetworzenia żądania w milisekundach. Uwaga: w httpd %D jest w mikrosekundach. Zachowanie będzie dostosowane do httpd w Tomcat 10 odtąd.
%T - Czas potrzebny do przetworzenia żądania, w sekundy. Uwaga: ta wartość ma rozdzielczość milisekundową, podczas gdy w httpd ma rozdzielczość sekundową. Zachowanie będzie dostosowane do httpd w Tomcat 10 odtąd.
%F - Czas potrzebny na zatwierdzenie odpowiedzi, w milisekundach
%I - Nazwa wątku aktualnego żądania (można później porównać z śladami stosu)
%X - Status połączenia, gdy odpowiedź została zakończona:
    X = Połączenie przerwane przed zakończeniem odpowiedzi.
    + = Połączenie może pozostać aktywne po wysłaniu odpowiedzi.
    - = Połączenie zostanie zamknięte po wysłaniu odpowiedzi.

Obsługiwane są również informacje o nagłówkach przychodzących lub wychodzących, ciasteczkach, atrybutach sesji lub żądania oraz specjalne formaty znaczników czasu. Jest to oparte na składni konfiguracji logów serwera Apache HTTP. Każdy z nich można używać wielokrotnie z różnymi kluczami xxx:

%{xxx}i zapisuje wartość przychodzącego nagłówka o nazwie xxx
%{xxx}o zapisuje wartość wychodzącego nagłówka o nazwie xxx
%{xxx}c zapisuje wartość ciasteczka o nazwie xxx
%{xxx}r zapisuje wartość atrybutu ServletRequest o nazwie xxx
%{xxx}s zapisuje wartość atrybutu HttpSession o nazwie xxx
%{xxx}p zapisuje lokalny (serwer) port (xxx==local) lub zdalny (klient) port (xxx=remote)
%{xxx}t zapisuje znacznik czasu na końcu żądania w formacie wzorca SimpleDateFormat xxx

Wszystkie formaty obsługiwane przez SimpleDateFormat są dozwolone w %{xxx}t. Dodatkowo dodano następujące rozszerzenia:

sec - liczba sekund od epoki
msec - liczba milisekund od epoki
msec_frac - ułamek milisekund

Te formaty nie mogą być mieszane z formatami SimpleDateFormat w tym samym tokenie formatu.

Można także zdefiniować, czy logować znacznik czasu dla czasu rozpoczęcia żądania, czy czasu zakończenia odpowiedzi:

begin lub prefix begin: wybiera czas rozpoczęcia żądania
end lub prefix end: wybiera czas zakończenia odpowiedzi

Dodając wiele tokenów %{xxx}t do wzorca, można również zalogować oba znaczniki czasu.

Skrócony wzorzec pattern="common" odpowiada Wspólnemu Formatowi Logów zdefiniowanemu przez '%h %l %u %t "%r" %s %b'.

Skrócony wzorzec pattern="combined" dodaje wartości nagłówków Referrer i User-Agent, każda w cudzysłowie, do wspólnego wzorca.

tomcat_juli_logging_format: "%1$tY.%1$tm.%1$tdT%1$tT.%1$tL%1$tz ${shortSystemName} %4$-4s %5$s [%2$s]%6$s%n"

Format logowania dla ogólnych logów Tomcat.

Format znaczników czasowych opisany jest tutaj: https://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html#dt https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

Format jest opisany tutaj: https://docs.oracle.com/javase/7/docs/api/java/util/logging/SimpleFormatter.html#format(java.util.logging.LogRecord)

tomcat_juli_logging_handler: "AsyncFileHandler" # TODO: Tomcat 6-7 używa tylko FileHandler

Użyj AsyncFileHandler dla Tomcat 8-9.

tomcat_juli_logging_level: "FINE"

Ustaw [1catalina|2localhost|3manager|4host-manager].org.apache.juli.AsyncFileHandler.level i java.util.logging.ConsoleHandler.level na ten poziom logowania. Możliwe wartości to: SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST lub ALL. Domyślna wartość to FINE.

tomcat_java_gc_log: "-Xlog:gc*=debug,heap*=debug,safepoint=debug,age*=debug,stringdedup*=debug,gc+heap=trace:'${CATALINA_BASE}/logs/gc/gc_%t_%p.log':time,uptimenanos,pid,tid,level,tags:filecount=200,filesize=1G"

Ustaw format i lokalizację dziennika GC.

tomcat_java_gc_log_old: "-Xloggc:'${CATALINA_BASE}/logs/gc/gc_$(date +%Y-%m-%d_%H%M).log' -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCApplicationStoppedTime -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=200 -XX:GCLogFileSize=1G -XX:+PrintHeapAtGC -XX:+PrintTenuringDistribution -XX:+PrintStringDeduplicationStatistics"

Ustaw format i lokalizację dziennika GC dla wersji Java starszych niż 9.

Opcje związane z zabezpieczeniami Tomcat

tomcat_use_secure_flag: True

Ustaw ten atrybut na True, jeśli chcesz, aby wywołania do request.isSecure() zwracały true dla żądań otrzymanych przez ten konektor. Chciałbyś to mieć w przypadku konektora SSL lub nieszyfrowanego, który odbiera dane od akceleratora SSL, jak karta kryptograficzna, urządzenie SSL lub nawet serwer www. Domyślna wartość to False.

tomcat_session_http_only: True

Wymuszenie korzystania przez Tomcat z ciasteczka JSESSIONID tylko przez http.

tomcat_session_secure: True

Wymuszenie korzystania przez Tomcat z zabezpieczonego ciasteczka JSESSIONID.

Opcje związane z nazewnictwem, folderami i usługami

tomcat_system_name: "tomcat_app_sys"

Opcjonalne: Użyj tej nazwy folderu dla tej instancji Tomcat.

tomcat_short_system_name: 'TT'

Opcjonalne: Użyj tego identyfikatora do oznaczania powiązanych plików, takich jak logi.

tomcat_service_enabled: true

Włącz lub wyłącz usługę Tomcat przy uruchamianiu systemu.

tomcat_system_home: "{{ tomcat_base_folder }}/{{ tomcat_system_user }}"

Folder z plikami binarnymi Tomcat.

# tomcat_system_home: "{{ tomcat_base_folder }}/{{ tomcat_system_name }}" # To jest opcjonalne ustawienie do użycia tomcat_system_name dla tego systemu.

Folder z plikami binarnymi Tomcat przy użyciu zmiennej tomcat_system_home.

tomcat_catalina_home: "{{ tomcat_system_home }}/tomcat"

Folder domowy Tomcat Catalina.

tomcat_catalina_base: "{{ tomcat_catalina_home }}"

Folder bazowy Tomcat Catalina.

Konfiguracja dostępu JMX w Tomcat

tomcat_jmx_authenticate: true

Włącz lub wyłącz uwierzytelnianie JMX.

tomcat_jmx_users:
- user: monitoring
    pass: IAGeqqIFpLEiSxWpIhnASaDI31ds
    type: readonly
- user: administrator
    pass: fYHKXKa68MKQcaq9S8BUEFP8dSN7
    type: readwrite

Zdefiniuj użytkowników JMX z nazwą, rolą i hasłem.

Opcje związane z konfiguracją uwierzytelniania LDAP w Tomcat

tomcat_ldap_enable: false

Włącz uwierzytelnianie LDAP w Tomcat. Domyślnie wyłączone.

tomcat_ldap_debug_level: 99

Poziom debugowania uwierzytelniania LDAP w Tomcat. Domyślnie 99.

tomcat_ldap_url: 'ldap://ldap.cloud.department.ca:389'

Adres URL uwierzytelniania LDAP w Tomcat. Nie używaj wartości domyślnej. Dostosuj tę wartość zgodnie z własnymi ustawieniami.

tomcat_ldap_user: 'technicaluser@cloud.department.ca'

Użytkownik LDAP Tomcat do uzyskania dostępu do serwera LDAP. Nie używaj wartości domyślnej. Dostosuj tę wartość zgodnie z własnymi ustawieniami.

tomcat_ldap_pass: 'password'

Hasło użytkownika LDAP Tomcat do uzyskania dostępu do serwera LDAP. Nie używaj wartości domyślnej. Dostosuj tę wartość zgodnie z własnymi ustawieniami.

tomcat_ldap_user_ou: 'ou=Users,dc=cloud,dc=department,dc=ca'

Jednostka organizacyjna ważnych użytkowników do uwierzytelniania LDAP w Tomcat. Dostosuj tę wartość zgodnie z własnymi ustawieniami.

tomcat_ldap_user_name: "(sAMAccountName={0})"

Nazwa uwierzytelnionego użytkownika do uwierzytelniania LDAP w Tomcat. Domyślne ustawienie to (sAMAccountName={0}), co jest idealne dla Windows Active Directory.

tomcat_ldap_user_referrals: 'follow'

Referencje pozwalają na podział i rozdzielenie drzewa katalogów między wiele serwerów LDAP, co oznacza, że serwery LDAP mogą nie przechowywać całego DIT, ale mogą zawierać odniesienia do innych serwerów LDAP, które oferują żądane informacje. Kiedy przeglądasz katalog, serwer LDAP może skierować cię do innego serwera, zwracając referencje. Referencja to wpis z klasą obiektu referencyjnego, która zawiera przynajmniej jeden atrybut o nazwie ref, zawierający jako wartość adres URL LDAP innego wpisu.

tomcat_ldap_user_subtree: true

Użytkownik LDAP Tomcat może znajdować się w poddrzewie jednostki organizacyjnej.

tomcat_ldap_role_ou: 'ou=TomcatAdmin,ou=Groups,dc=cloud,dc=department,dc=ca'

Jednostka organizacyjna grupy użytkowników do uwierzytelniania LDAP w Tomcat. Dostosuj tę wartość zgodnie z własnymi ustawieniami. Utwórz tutaj grupy zabezpieczeń z nazwami ról Tomcat, takimi jak "manager-gui".

tomcat_ldap_role_name: 'name'

Nazwa grupy zabezpieczeń użytkowników jako nazwy ról Tomcat, takie jak "manager-gui". Domyślna wartość jest dobra, jeśli chcesz używać nazw ról Tomcat.

tomcat_ldap_role_subtree: true

Grupa LDAP Tomcat może znajdować się w poddrzewie jednostki organizacyjnej.

tomcat_ldap_role_search: '(member={0})'

Każdy członek odpowiadający nazwie grupy zabezpieczeń może uzyskać dostęp do serwera zgodnie z określoną rolą.

Opcje dotyczące portu debugowania

tomcat_debug_enable: false

Włącz port debugowania Tomcat.

tomcat_debug_port: 8000

Określ port debugowania Tomcat.

tomcat_debug_sever: '{{ ansible_hostname }}' # lub 127.0.0.1

Zezwól na połączenie z wszystkich lokalizacji lub tylko z lokalnego połączenia.

tomcat_debug_parameter: '-agentlib:jdwp=transport=dt_socket,address={{ tomcat_debug_sever }}:{{ tomcat_debug_port }},server=y,suspend=n'

Określ parametry debugowania Tomcat.

Opcje związane z zewnętrznymi profilerami

tomcat_profiler_enable: false

Włącz profilowanie Tomcat.

tomcat_profiler_parameter: '-agentpath:/opt/profiler/libyjpagent.so=port=8200-8220,listen=all,delay=10000'

Określ zewnętrzny parametr profiler dla Tomcat.

Opcje związane z kompresją logów Tomcat

tomcat_log_rotate_minsize: 20K

Pliki logów są obracane, gdy przekraczają określony rozmiar, ale nie wcześniej niż po dodatkowym podanym czasie (codziennie, cotygodniowo, comiesięcznie lub corocznie). Odpowiednia opcja rozmiaru jest podobna, chociaż jest wzajemnie wykluczająca z opcjami interwałów czasowych i powoduje obrót plików logów bez względu na czas ostatniej rotacji. Gdy używana jest opcja minsize, zarówno rozmiar, jak i znacznik czasu pliku logu są brane pod uwagę.

tomcat_log_compress_command: '/usr/bin/xz'

Lokalizacja programu kompresującego. Domyślna wartość to xz, więc domyślna wartość to '/usr/bin/xz'. Możesz również użyć na przykład: '/usr/bin/gzip'.

tomcat_log_compress_options: '-3'

Opcje dla programu kompresyjnego. Dla xz domyślną wartością jest '-3', co oznacza dobrze zrównoważoną kompresję. Dla gzip możesz użyć na przykład: '-9'.

tomcat_log_compress_extension: '.xz'

Rozszerzenie pliku dla specyfikacji logrotate. xz to '.xz', a gzip to 'gz'.

Ustawienia zabezpieczeń Tomcat

tomcat_security_random_device: random

Na Linuksie istnieją dwa ogólne urządzenia losowe: /dev/random i /dev/urandom. Najlepsza losowość pochodzi z /dev/random, ponieważ jest to urządzenie blokujące i będzie czekać, aż dostępna będzie wystarczająca entropia, aby kontynuować dostarczanie wyjścia. Zakładając, że twoja entropia jest wystarczająca, powinieneś zobaczyć tę samą jakość losowości z /dev/urandom; jednak ponieważ jest to urządzenie nieblokujące, będzie nadal produkować „losowe” dane, nawet gdy pulka entropii się wyczerpie. Może to prowadzić do słabszej jakości danych losowych, ponieważ powtarzanie poprzednich danych staje się znacznie bardziej prawdopodobne. Wiele złych rzeczy może się wydarzyć, gdy dostępna entropia staje się niska na serwerze produkcyjnym, szczególnie gdy ten serwer wykonuje funkcje kryptograficzne. Jeśli twoje urządzenie sprzętowe obsługuje sprzętowe urządzenie losowe, to powinieneś użyć rngd i sprawdzać losowość przy pomocy narzędzia rngtest z pakietu rng-tools. Jeśli twoje urządzenie sprzętowe nie obsługuje sprzętowego urządzenia losowego, powinieneś użyć haveged z pakietu haveged. Oba pakiety mogą skrócić czas uruchamiania Tomcat oraz czas związanych z kryptografią akcji. Domyślne ustawienie zapewnia "-Djava.security.egd=file:///dev/./random", które jest najlepsze dla ustawień kryptograficznych, gdy włączysz rngd lub haveged.

Zależności

Brak.

Przykładowy Playbook

- hosts: all
  roles:
    - tomcat

Licencjonowanie

Aplikacja roli Ansible Tomcat i dokumentacja są licencjonowane na warunkach MIT / BSD. Kopię tej licencji znajdziesz w pliku LICENSE dołączonym w pakiecie źródłowym.

Informacje o autorze

Ta rola została stworzona w latach 2016-2020 przez Kálmána Szalai - KAMI

Wsparcie

Jeśli masz jakiekolwiek pytania, nie wahaj się i napisz do mnie. Jeśli znalazłeś błąd lub masz prośbę o funkcję, możesz zgłosić problem.

Używanie jako podmoduł playbooka AWX

Dodaj jako podmoduł

git submodule add --force [email protected]:KAMI911/ansible-role-tomcat.git roles/tomcat

Zaktualizuj jako podmoduł

Aktualizuj tylko ten podmoduł

git submodule update --remote roles/tomcat/

Zaktualizuj wszystkie podmoduły:

git submodule foreach git pull origin master

Współpraca

Istnieje wiele sposobów na wkład w ansible-role-tomcat — czy to przez wysyłanie poprawek, testowanie, zgłaszanie błędów, czy recenzowanie i aktualizowanie dokumentacji. Każdy wkład jest mile widziany!

Proszę kontynuować czytanie w rozdziale współpraca.

Forkuj mnie na Githubie

https://github.com/KAMI911/ansible-role-tomcat

Dodaj nowy zdalny upstream z tym repozytorium jako wartością.

git remote add upstream https://github.com/KAMI911/ansible-role-tomcat.git

Możesz pobrać aktualizacje do gałęzi master swojego fork'a:

git fetch --all
git pull upstream HEAD

Darowizna

Jeśli uznasz to za przydatne, rozważ proszę darowiznę:

paypal

O projekcie

Most complete Tomcat installation, supporting init.d script,\ application naming, hugepages, hardening, beautiful error pages,\ sha512 hashed passwords, JMX configuration, multiple Tomcat versions,\ separated catalina_home and caralina_base.

Zainstaluj
ansible-galaxy install KAMI911.tomcat
Licencja
mit
Pobrania
1.9k
Właściciel
Open Source Enthusiast, System Administrator, Pythonist, OpenStreetMap & GIS Fan