Como configurar o Tomcat de inicialização Spring

Como configurar o Tomcat de inicialização Spring

1. Visão geral

Os aplicativos da Web Spring Boot incluem um servidor da Web incorporado pré-configurado por padrão. Em algumas situações, porém, gostaríamos demodify the default configuration para atender aos requisitos personalizados.

Neste tutorial, veremos alguns casos de uso comuns para configurar o servidor integrado Tomcat por meio do arquivoapplication.properties.

2. Configurações comuns do Tomcat incorporado

2.1. Endereço e porta do servidor

A configuração mais comumwe may wish to change is the port number:

server.port=80

Se não fornecermos o parâmetroserver.port, ele será definido como8080 por padrão.

Em alguns casos, podemos desejar definir um network address to which the server should bind. In other words, we define an IP address where our server will listen:

server.address=my_custom_ip

Por padrão, o valor é definido como0.0.0.0 que permite a conexão por meio de todos os endereços IPv4. Definir outro valor, por exemplo, localhost -127.0.0.1 - tornará o servidor mais seletivo.

2.2. Manipulação de erros

By default, Spring Boot provides a standard error web page. Esta página é chamada deWhitelabel. Ele é ativado por padrão, mas se não quisermos exibir nenhuma informação de erro, podemos desativá-lo:

server.error.whitelabel.enabled=false

O caminho padrão paraWhitelabel é/error. Podemos personalizá-lo definindo o parâmetroserver.error.path:

server.error.path=/user-error

Também podemos definir propriedades que determinarão quais informações sobre o erro serão apresentadas. Por exemplo, podemos incluir a mensagem de erro e o rastreamento da pilha:

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

Nossos tutoriaisException Message Handling for RESTeCustomize Whitelabel Error Page explicam mais sobre como lidar com erros no Spring Boot.

2.3. Conexões do servidor

Ao executar em um contêiner de poucos recursos, podemos quererdecrease the CPU and memory load. Uma maneira de fazer isso é limitar o número de solicitações simultâneas que podem ser tratadas por nosso aplicativo. Por outro lado, podemos aumentar esse valor para usar mais recursos disponíveis para obter melhor desempenho.

No Spring Boot, podemos definir a quantidade máxima de threads de trabalho do Tomcat:

server.tomcat.max-threads=200

Ao configurar um servidor web, também pode ser útil paraset the server connection timeout. Isso representa a quantidade máxima de tempo que o servidor aguardará o cliente fazer sua solicitação após a conexão antes de a conexão ser fechada:

server.connection-timeout=5s

Também podemos definir o tamanho máximo de um cabeçalho de solicitação:

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

O tamanho máximo de um corpo da solicitação:

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

Ou um tamanho máximo de toda a solicitação de postagem:

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

2.4. SSL

To enable SSL support em nosso aplicativo Spring Boot, precisamos definir a propriedadeserver.ssl.enabled paratruee definir um protocolo SSL:

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

Também devemos configurar a senha, o tipo e o caminho para o armazenamento de chaves que contém o certificado:

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

E também devemos definir o alias que identifica nossa chave no armazenamento de chaves:

server.ssl.key-alias=tomcat

Para obter mais informações sobre a configuração SSL, visite nosso artigoHTTPS using self-signed certificate in Spring Boot.

2.5. Logs de acesso ao servidor Tomcat

Os logs de acesso do Tomcat são muito úteis ao tentar medir a contagem de hits da página, a atividade da sessão do usuário e assim por diante.

To enable access logs, simplesmente defina:

server.tomcat.accesslog.enabled=true

Também devemos configurar outros parâmetros, como nome do diretório, prefixo, sufixo e formato da data anexados aos arquivos de log:

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. Conclusão

Neste tutorial, aprendemos algumas configurações de servidores incorporadosTomcat comuns. Para ver mais configurações possíveis, visite a página oficialSpring Boot application properties docs.

Como sempre, o código-fonte para esses exemplos está disponível emGitHub.