如何使用 Spring Boot 和 Tomcat 指定我的 .keystore 文件?

2023-12-25

我正在尝试设置 Spring Security 以与 Spring Boot 的嵌入式 Tomcat 实例一起使用。有相当多的基本示例可以做到这一点,但我被困在他们离开的地方——他们通过 HTTP(而不是 HTTPS)进行基本身份验证。

如果我有权访问 Tomcat 配置文件(server.xml)但由于 Spring Boot 使用嵌入式 Tomcat 实例(否则会非常方便),因此我无法访问 Tomcat 配置文件(至少据我所知)。

可能有一个application.properties为此设置,但我一直无法找到它。我看过对a的引用server.contextPath领域在application.properties我怀疑可能与替换 Tomcat 配置文件有关。即使它是相关的,我也不知道从哪里开始——我见过的所有 Tomcat SSL 指令都是从编辑现有的server.xml文件,而不是从头开始构建一个文件。

这可以用 Spring Boot 来完成吗(通过某种方式指定一个片段)server.xml或通过其他方式)?如果没有,最简单的方法是什么?我知道我可能需要排除 Spring Boot 的 Tomcat 组件,但如果可能的话我宁愿避免这种情况。


从 Spring Boot 1.2 开始,您可以使用以下命令配置 SSLapplication.properties or application.yml。这是一个例子application.properties:

server.port = 8443
server.ssl.key-store = classpath:keystore.jks
server.ssl.key-store-password = secret
server.ssl.key-password = another-secret

同样的事情与application.yml:

server:
  port: 8443
  ssl:
    key-store: classpath:keystore.jks
    key-store-password: secret
    key-password: another-secret

这是一个链接当前参考文档 http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-configure-ssl.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Spring Boot 和 Tomcat 指定我的 .keystore 文件? 的相关文章

随机推荐

  • 无法通过本地网络访问 sinatra 应用程序

    我有 Rails 应用程序 如果我开始它rails s 端口 3000 它通过 IP 地址 在我的例子中为 192 168 0 3 在我的机器和本地网络上的每个设备上都能完美运行 我有 sinatra 应用程序 如果我开始它ruby app
  • 如何在 DynamoDB 中添加列

    有没有办法向 Amazon AWS 的 DynamoDB 中的现有表添加新列 谷歌没有帮助 更新表查询http docs aws amazon com cli latest reference dynamodb update table h
  • 通过asp.net 3.5发送电子邮件

    我希望通过 net 3 5 表单 C 发送电子邮件 我在其他地方看到过一些帖子 并且对于某些地址运行正常 但对于其他地址则运行正常 例如 gmail 帐户 完成的应用程序必须从数据库中获取地址 因此我必须满足很多可能性 我不希望别人为我完成
  • 缺少共享引用

    在与std shared ptr很多我有点想念shared ref执行 这是一个专业shared ptr 这保证了它永远不会包装nullptr 当然 前提是正确使用 我有点想知道为什么它不在 C 11 标准中 执行过程中是否存在市长问题 我
  • 提示用户选择设备(从线路)

    我正在尝试列出已连接的 adb 设备并提示用户选择要部署 APK 的线路 到目前为止我已经尝试过 for i in adb devices do ECHO i 但这根本行不通 有没有办法将每个 adb 设备的 id 捕获到变量中 如果可能的
  • Python 中的随机迭代

    当您想顺序迭代数字列表时 您将编写 for i in range 1000 do something with i 但是 如果您想随机迭代 0 999 范围内的数字列表该怎么办 需要 在每次迭代中 随机选择在任何先前迭代中未选择的数字 并且
  • 离开输入字段后调用函数

    在联系表单上 我有几个输入字段 这些字段之一是电子邮件地址字段
  • 使用 W3C 规范中未包含的特定于供应商的扩展有哪些优点和缺点?

    我编辑了我的问题 什么是供应商特定扩展 可以启动供应商特定的扩展 带有 破折号 或 下划线 通常后跟 公司或公司的缩写 浏览器项目的扩展名是 具体用于 f i moz 代表 Mozilla 浏览器 或 WebKit 的 webkit 基于浏
  • 你可以 pop_back 一个向量并仍然使用迭代器到最后一个元素吗?

    我想知道如果我在向量的最后一个元素上有一个迭代器并且执行以下操作会发生什么pop back std set
  • struts2验证和prepare方法相关

    在有一个custprofileview显示包含客户所有详细信息的 JSP 页面的操作 在我的 JSP 中 所有字段都像我的
  • 以编程方式更改 Android 中的 DatePicker 日历大小

    我正在做一个 Android 应用程序 我必须显示一个 DatePickerDialog 事实上 该应用程序将运行在具有智能屏幕的设备上 而日历不适合其中 我希望日历更小 同时保持相同的比例 看起来像这样 https i stack img
  • 默认情况下 Soundcloud 500x500 图稿

    if song gt artwork url null song artwork song gt artwork url else song artwork img no art png 默认情况下 soundcloud 会拉动 large
  • Android - 获取分配的内存

    有什么办法 如何确定Android应用程序中实际分配的内存 在代码中 Thanks Waypoint 如果你谈论 Android 应用程序内存 ActivityManager getMemoryInfo http developer and
  • 如何在 Visual Studio 2012 中使用 Entity Framework 4.1?

    我在网络场上有一个 Web 应用程序 我使用 NET 4 和实体数据模型 4 1 当我开始开发这个 Web 应用程序时 我使用了 Visual Studio 2010 今天我卸载了它并安装了新版本 Visual Studio 2012 由于
  • Visual Studio 2017 和 2019 突出显示滚动条中所选单词的出现

    当我标记一个单词 任何类型 时 我希望该单词的所有出现 在该特定文件中 在右侧的滚动条中突出显示 This was a feature in VS2015 and VS2013 I cannot imagine that they remo
  • 使用数组过滤器对键 ID 进行 NDB 模型查询

    我正在尝试使用提供的密钥 ID 字符串列表来查询 NDB 模型 该模型具有在创建时分配的字符串 ID 例如 objectKey MyModel id 123456ABC name An Object put 现在我不知道如何使用列表过滤器查
  • 在 Git 中,本地分支可以相互跟踪 - 这有什么用?

    我听说在Git 你可以让local branch A跟踪另一个local branch B 为什么有人想要这样做 让本地分支跟踪另一个本地分支时想到的主要事情是 1 来自 Git 的关于某个分支在被跟踪分支之前 之后的更多通知消息以及 2
  • LINQ:转换为值类型“System.Int32”失败,因为具体化值为 null

    在数据库上执行 LINQ 查询时出现以下错误 转换为值类型 System Int32 失败 因为物化 值为空 我相信这是因为其中一列返回空值 这是我的 LINQ 命令 var facts from b in Program db Produ
  • xxxxxx.exe 不是有效的 Win32 应用程序

    我在 Visual Studio 2012 RC 中有一个小型 C C 项目 该应用程序解析 argv 然后使用以下命令调用另一个 exe 文件ShellExecute 我的应用程序在 Windows 7 上运行完美 但在 Windows
  • 如何使用 Spring Boot 和 Tomcat 指定我的 .keystore 文件?

    我正在尝试设置 Spring Security 以与 Spring Boot 的嵌入式 Tomcat 实例一起使用 有相当多的基本示例可以做到这一点 但我被困在他们离开的地方 他们通过 HTTP 而不是 HTTPS 进行基本身份验证 如果我