Spring Boot Web应用程序默认包含预配置的嵌入式Web服务器。但在某些情况下,我们要 修改默认配置 以满足自定义要求。
在本教程中,我们将介绍通过 application.properties 文件配置Tomcat嵌入式服务器的一些常见用例。
server.port = 80 复制代码
如果我们不提供 server.port 参数,则默认设置为 8080 。
在某些情况下,我们可能希望设置服务器应绑定的网络地址。换句话说,我们定义一个 服务器将监听的IP地址 :
server.address = my_custom_ip 复制代码
默认情况下,该值设置为 0.0.0.0 ,允许通过所有IPv4地址进行连接。设置另一个值,例如localhost - 127.0.0.1 - 将使服务器更具选择性。
默认情况下,Spring Boot提供标准错误网页。此页面称为 Whitelabel 。它默认启用,但如果我们不想显示任何错误信息,我们可以禁用它:
server.error.whitelabel.enabled = false 复制代码
Whitelabel
的默认路径是*/error*。可以通过设置 server.error.path
参数来自定义它: server.error.path = /user-error 复制代码
还可以设置属性,以确定显示有关错误的信息。例如,我们可以包含错误消息和堆栈跟踪:
server.error.include-exception= true server.error.include-stacktrace= always 复制代码
我们的教程 Exception Message Handling for REST 和[Customize Whitelabel Error Page](www.baeldung.com/ spring-boot-custom-error-page) 详细解释有关Spring Boot中处理错误的更多信息。
当在低资源容器上运行时,我们可能希望 减少CPU和内存负载 。一种方法是限制应用程序可以同时处理的请求数量。相反,我们可以增加此值以使用更多可用资源来获得更好的性能。
在 Spring Boot
中,我们可以定义 Tomcat
工作线程的最大数量:
server.tomcat.max-threads= 200 复制代码
配置Web服务器时, 设置服务器连接超时 也可能很有用。这表示服务器在连接关闭之前等待客户端发出请求的最长时间:
server.connection-timeout= 5s 复制代码
我们还可以定义请求头的最大大小:
server.max-http-header-size= 8KB 复制代码
请求正文的最大大小:
server.tomcat.max-swallow-size= 2MB 复制代码
或者整个POST请求的最大大小:
server.tomcat.max-http-post-size= 2MB 复制代码
要在我们的Spring Boot应用程序中启用SSL支持,我们需要将 server.ssl.enabled 属性设置为 true ,并定义SSL协议:
server.ssl.enabled = true server.ssl.protocol = TLS 复制代码
我们要配置保存证书密钥库的密码,类型和路径:
server.ssl.key-store-password=my_password server.ssl.key-store-type=keystore_type server.ssl.key-store=keystore-path 复制代码
我们还必须定义标识密钥库中密钥的别名:
server.ssl.key-alias=tomcat 复制代码
有关SSL配置的更多信息,请访问: HTTPS using self-signed certificate in Spring Boot 。
在尝试统计页面命中数,用户会话活动等时,Tomcat访问日志非常有用。
要启用访问日志,只需设置:
server.tomcat.accesslog.enabled = true 复制代码
我们还应该配置其他参数,例如附加到日志文件的目录名,前缀,后缀和日期格式:
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 复制代码