Sådan konfigureres Spring Boot Tomcat

1. Oversigt

Spring Boot-webapplikationer inkluderer som standard en forudkonfigureret, integreret webserver. I nogle situationer vil vi dog gerne ændre standardkonfigurationen for at imødekomme brugerdefinerede krav.

I denne vejledning ser vi på et par almindelige brugssager til konfiguration af den integrerede Tomcat-server gennem application.properties fil.

2. Almindelige integrerede Tomcat-konfigurationer

2.1. Serveradresse og port

Den mest almindelige konfiguration Vi ønsker måske at ændre er portnummeret:

server.port = 80

Hvis vi ikke leverer server.port parameter, den er indstillet til 8080 som standard.

I nogle tilfælde vil vi muligvis indstille en n-adresse, som serveren skal binde til. Med andre ord definerer vi en IP-adresse, hvor vores server vil lytte:

server.adresse = min_custom_ip

Som standard er værdien indstillet til 0.0.0.0 som muliggør forbindelse via alle IPv4-adresser. Indstilling af en anden værdi, for eksempel localhost - 127.0.0.1 - gør serveren mere selektiv.

2.2. Fejlhåndtering

Spring Boot leverer som standard en standardfejlwebside. Denne side kaldes Hvid label. Det er aktiveret som standard, men hvis vi ikke vil vise nogen fejloplysninger, kan vi deaktivere det:

server.error.whitelabel.enabled = false

Standardstien til en Hvid label er /fejl. Vi kan tilpasse det ved at indstille server.error.path parameter:

server.error.path = / brugerfejl

Vi kan også indstille egenskaber, der bestemmer, hvilke oplysninger om fejlen der præsenteres. For eksempel kan vi inkludere fejlmeddelelsen og stakksporingen:

server.error.include-exception = sand server.error.include-stacktrace = altid

Vores tutorials Undtagelse af meddelelseshåndtering til REST og tilpas whitelabel-fejlside forklarer mere om håndteringsfejl i Spring Boot.

2.3. Serverforbindelser

Når vi kører på en container med lav ressource, vil vi måske gerne mindske CPU- og hukommelsesbelastningen. En måde at gøre det på er at begrænse antallet af samtidige anmodninger, der kan håndteres af vores ansøgning. Omvendt kan vi øge denne værdi for at bruge flere tilgængelige ressourcer til at opnå bedre ydeevne.

I Spring Boot kan vi definere den maksimale mængde Tomcat-arbejdstråde:

server.tomcat.max-threads = 200

Når du konfigurerer en webserver, kan det også være nyttigt at indstil serverforbindelsens timeout. Dette repræsenterer det maksimale tidsrum, som serveren venter på, at klienten fremsætter deres anmodning efter tilslutning, før forbindelsen lukkes:

server.connection-timeout = 5s

Vi kan også definere den maksimale størrelse på en anmodningsoverskrift:

server.max-http-header-størrelse = 8 KB

Den maksimale størrelse på et anmodningsorgan:

server.tomcat.max-sluge-størrelse = 2 MB

Eller en maksimal størrelse på hele postanmodningen:

server.tomcat.max-http-post-størrelse = 2 MB

2.4. SSL

For at aktivere SSL-support i vores Spring Boot-applikation skal vi indstille server.ssl.enabled ejendom til rigtigt og definere en SSL-protokol:

server.ssl.enabled = sand server.ssl.protocol = TLS

Vi skal også konfigurere adgangskoden, typen og stien til nøglelageret, der indeholder certifikatet:

server.ssl.key-store-password = my_password server.ssl.key-store-type = keystore_type server.ssl.key-store = keystore-path

Og vi skal også definere det alias, der identificerer vores nøgle i nøglelageret:

server.ssl.key-alias = tomcat

For mere information om SSL-konfiguration, besøg vores HTTPS ved hjælp af selvsigneret certifikat i Spring Boot-artiklen.

2.5. Tomcat-serveradgangslogfiler

Tomcat-adgangslogfiler er meget nyttige, når du prøver at måle antallet af sidetreff, brugersessionsaktivitet og så videre.

For at aktivere adgangslogger, indstil blot:

server.tomcat.accesslog.enabled = sand

Vi skal også konfigurere andre parametre såsom biblioteksnavn, præfiks, suffiks og datoformat, der er tilføjet logfiler:

server.tomcat.accesslog.directory = logger server.tomcat.accesslog.file-date-format = åååå-MM-dd server.tomcat.accesslog.prefix = access_log server.tomcat.accesslog.suffix = .log

3. Konklusion

I denne vejledning har vi lært et par almindelige Tomcat integrerede serverkonfigurationer. For at se flere mulige konfigurationer, skal du besøge den officielle dokumentside for Spring Boot-applikationsegenskaber.

Som altid er kildekoden til disse eksempler tilgængelig på GitHub.


$config[zx-auto] not found$config[zx-overlay] not found