Comment configurer Spring Boot Tomcat

1. Vue d'ensemble

Les applications Web Spring Boot incluent un serveur Web intégré préconfiguré par défaut. Dans certaines situations cependant, nous aimerions modifier la configuration par défaut pour répondre aux exigences personnalisées.

Dans ce didacticiel, nous examinerons quelques cas d'utilisation courants pour la configuration du serveur intégré Tomcat via le fichier application.properties .

2. Configurations Tomcat intégrées communes

2.1. Adresse et port du serveur

La configuration la plus courante que nous souhaitons peut-être modifier est le numéro de port :

server.port=80

Si nous ne fournissons pas le paramètre server.port , il est défini sur 8080 par défaut .

Dans certains cas, nous souhaitons peut-être définir une adresse de travail à laquelle le serveur doit se lier. En d'autres termes, nous définissons une adresse IP sur laquelle notre serveur écoutera :

server.address=my_custom_ip

Par défaut, la valeur est définie sur 0.0.0.0, ce qui permet la connexion via toutes les adresses IPv4. La définition d'une autre valeur, par exemple, localhost - 127.0.0.1 - rendra le serveur plus sélectif.

2.2. La gestion des erreurs

Par défaut, Spring Boot fournit une page Web d'erreur standard . Cette page s'appelle le Whitelabel . Il est activé par défaut, mais si nous ne voulons afficher aucune information d'erreur, nous pouvons le désactiver:

server.error.whitelabel.enabled=false

Le chemin par défaut vers une étiquette blanche est / error . Nous pouvons le personnaliser en définissant le paramètre server.error.path :

server.error.path=/user-error

Nous pouvons également définir des propriétés qui détermineront quelles informations sur l'erreur sont présentées. Par exemple, nous pouvons inclure le message d'erreur et la trace de la pile:

server.error.include-exception=true server.error.include-stacktrace=always

Nos didacticiels Gestion des messages d'exception pour REST et Personnaliser la page d'erreur de marque blanche expliquent plus en détail la gestion des erreurs dans Spring Boot.

2.3. Connexions serveur

Lors de l'exécution sur un conteneur à faibles ressources, nous pourrions souhaiter réduire la charge du processeur et de la mémoire. Une façon de faire est de limiter le nombre de requêtes simultanées pouvant être traitées par notre application. À l'inverse, nous pouvons augmenter cette valeur pour utiliser plus de ressources disponibles pour obtenir de meilleures performances.

Dans Spring Boot, nous pouvons définir le nombre maximal de threads de travail Tomcat:

server.tomcat.max-threads=200

Lors de la configuration d'un serveur Web, il peut également être utile de définir le délai d'expiration de la connexion au serveur . Cela représente la durée maximale pendant laquelle le serveur attendra que le client fasse sa demande après la connexion avant la fermeture de la connexion:

server.connection-timeout=5s

Nous pouvons également définir la taille maximale d'un en-tête de requête:

server.max-http-header-size=8KB

La taille maximale d'un corps de requête:

server.tomcat.max-swallow-size=2MB

Ou une taille maximale de l'ensemble de la demande de publication:

server.tomcat.max-http-post-size=2MB

2.4. SSL

Pour activer la prise en charge SSL dans notre application Spring Boot, nous devons définir la propriété server.ssl.enabled sur true et définir un protocole SSL:

server.ssl.enabled=true server.ssl.protocol=TLS

Nous devons également configurer le mot de passe, le type et le chemin d'accès au magasin de clés qui contient le certificat:

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

Et nous devons également définir l'alias qui identifie notre clé dans le magasin de clés:

server.ssl.key-alias=tomcat

Pour plus d'informations sur la configuration SSL, visitez notre HTTPS à l'aide d'un certificat auto-signé dans l'article Spring Boot.

2.5. Journaux d'accès au serveur Tomcat

Les journaux d'accès Tomcat sont très utiles lorsque vous essayez de mesurer le nombre de visites de pages, l'activité de session utilisateur, etc.

Pour activer les journaux d'accès, définissez simplement:

server.tomcat.accesslog.enabled=true

Nous devons également configurer d'autres paramètres tels que le nom du répertoire, le préfixe, le suffixe et le format de date ajoutés aux fichiers journaux:

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

3. Conclusion

Dans ce didacticiel, nous avons appris quelques configurations de serveur intégrées Tomcat courantes . Pour voir plus de configurations possibles, veuillez visiter la page officielle de documentation des propriétés de l'application Spring Boot.

Comme toujours, le code source de ces exemples est disponible à l'adresse over sur GitHub.