S
S
Spring 实战(第五版)
搜索文档…
S
S
Spring 实战(第五版)
Spring 实战(第 5 版)
第一部分 Spring 基础
第 1 章 Spring 入门
第 2 章 开发 Web 应用程序
第 3 章 处理数据
第 4 章 Spring 安全
第 5 章 使用配置属性
5.1 微调自动配置
5.1.1 理解 Spring 环境抽象
5.1.2 配置数据源
5.1.3 配置嵌入式服务器
5.1.4 配置日志
5.1.5 使用特殊的属性值
5.2 创建自己的配置属性
5.3 使用 profile 文件进行配置
5.4 小结
第二部分 集成 Spring
第 6 章 创建 REST 服务
第 7 章 调用 REST 服务
第 8 章 发送异步消息
第 9 章 集成 Spring
第三部分 响应式 Spring
第 10 章 Reactor 介绍
第 11 章 开发响应式 API
第 12 章 响应式持久化数据
第四部分 云原生 Spring
第 13 章 服务发现
第 14 章 配置管理
第 15 章 处理失败和时延
第五部分 部署Spring
第 16 章 使用 SpringBoot Actuator
第 17 章 管理 Spring
第 18 章 使用 JMX 监控 Spring
第 19 章 部署 Spring
由
GitBook
提供支持
5.1.3 配置嵌入式服务器
已经看到如何通过设置 server.port 来设置 servlet 容器。还没有让你看到的是,如果把 server.port 设置为 0 会发生什么:
server
:
port
:
0
尽管正在显式地设置 server.port 为 0,但是服务器不会在端口 0 上启动。相反,它将从随机选择的可用端口启动。这在运行自动化集成测试以确保任何并发运行的测试不会在硬编码端口号上发生冲突时非常有用。在第 13 章中将看到,当不关心应用程序启动于哪个端口时,它也很有用,因为它是一个将从服务注册表中查找的微服务。
但是底层服务器不仅仅是一个端口。需要对底层容器做的最常见的事情之一是将其设置为处理 HTTPS 请求。要做到这一点,你必须做的第一件事是通过使用 JDK 的 keytool 命令行工具创建一个密钥存储:
$ keytool -keystore mykeys.jks -genkey -alias tomcat -keyalg RSA
你将会被问到几个关于你的名字和公司的问题,这些问题大部分都是无关紧要的。但当被要求输入密码时,记住你的密码。对于本例,我选择 letmein 作为密码。
接下来,需要设置一些属性,用于在嵌入式服务器中启用 HTTPS。可以在命令行中指定它们,但是那样会非常不方便。相反,可能会在 application.properties 或 application.yml 文件中设置它们。在 application.yml 中,属性可能是这样的:
server
:
port
:
8443
ssl
:
key-store
:
file
:
///path/to/mykeys.jks
key-store-password
:
letmein
key-password
:
letmein
在这里 server.port 属性设置为 8443,这是开发 HTTPS 服务器的常用选择。server.ssl.key-store 属性设置为创建密钥存储库文件的路径。这里显示了一个
file://
URL 来从文件系统加载它,但是如果将它打包到应用程序 JAR 文件中,将使用一个
classpath:
URL来引用它。同时 server.ssl.key-store-password 和 server.ssl.key-password 属性都被设置为创建密钥存储时指定的密码值。
有了这些属性,应用程序应该侦听端口 8443 上的 HTTPS 请求。根据使用的浏览器,可能会遇到服务器无法验证其身份的警告。在开发期间从本地主机提供服务时,这没有什么可担心的。
以前
5.1.2 配置数据源
下一个
5.1.4 配置日志
最近更新
2yr ago
复制链接