在 Tomcat 中为每个服务启用相互 SSL [关闭]

2024-01-17

我已经成功地在客户端应用程序和 Tomcat 实例之间设置了相互 SSL。不过,我现在正在寻找一种方法,通过相互 SSL 只公开 Tomcat 中部署的服务子集。虽然看起来可以使用 APR 配置(通过将“SSLVerifyClient”属性的值定义为“可选”),但我似乎找不到一种方法来对 Tomcat 中 SSL 的 JSSE 实现执行相同操作。感谢任何有关如何完成此操作的意见。

干杯, 普拉巴斯


(注意SSLVerifyClient="optional"APR 等于clientAuth="want"与 JSSE 连接器。尽管是可选的,但这是在连接时协商的,一旦服务器知道路径就不会重新协商。)

如果您只想对某些 Web 应用程序(或路径)使用客户端证书身份验证,则需要使用信任库配置连接器,但保留clientAuth="false".

然后,在你的WEB-INF/web.xml,你需要配置CLIENT-CERT验证。这将在必要时使用重新协商来请求客户端证书。配置如下:

<web-app>
    <display-name>My Webapp</display-name>
    <security-constraint>
        <web-resource-collection>
            <web-resource-name>App</web-resource-name>
            <url-pattern>/</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>cert</role-name>
        </auth-constraint>
        <user-data-constraint>
            <transport-guarantee>CONFIDENTIAL</transport-guarantee>
        </user-data-constraint>
    </security-constraint>

    <login-config>
        <auth-method>CLIENT-CERT</auth-method>
    </login-config>

    <security-role>
        <role-name>cert</role-name>
    </security-role>
</web-app>

(在配置 Tomcat 用户时,您还需要将用户的主题 DN 映射到适当的角色。)

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

在 Tomcat 中为每个服务启用相互 SSL [关闭] 的相关文章

随机推荐

  • AttributeError:“MLPClassifier”对象没有属性“decision_function”

    我不知道为什么在尝试使用时会出现该错误decision function model 1 BaggingClassifier base estimator MLPClassifier model 1 fit Xtrain ytrain mo
  • 如何合并给定属性上的两个列表

    我有两个查询 每个查询返回一个对象列表 List a list1 query List a list2 query A 是对象模型 两个查询返回几乎相同的对象 但设置了不同的属性 我想根据对象 A 的属性删除重复项并将它们合并到单个列表中
  • cURL 使用 PHP,可以确定 cURL 将使用的 IP 地址吗?

    是否可以通过编程方式确定 cURL 在连接到远程服务器时使用的 IP 地址 我有一个正在使用 cURL 的共享服务器 我需要将 IP 地址作为请求的一部分发送 我正在交谈的服务器需要一个结合了连接 IP 地址和旋转密码的身份验证字符串 例如
  • VSCode 上的 pwa-node 类型启动配置是什么?

    我注意到 VSCode 为 npm 调试生成的默认启动配置 通过 NPM 启动 默认将配置类型设置为 pwa node 添加 通过 NPM 启动 配置 生成的配置类型 我搜索了一下 但没有找到它的含义 也许与渐进式网络应用程序有关 有谁知道
  • ServiceStack 基准测试继续:为什么将简单(复杂)持久化为 JSON 会减慢 SELECT 速度?

    我想切换到 OrmLite 我需要弄清楚它是否很慢 如果是 原因是什么 在我的研究中 我得出的结论是 复杂的对象 在 OrmLite 中被 blob 为 JSON 是 SELECT 速度非常慢的罪魁祸首 因此 我创建了一个仅关注 OrmLi
  • sklearn ColumnTransformer 与 MultilabelBinarizer

    我想知道是否可以在 ColumnTransformer 中使用 MultilabelBinarizer 我有一个玩具熊猫数据框 例如 df pd DataFrame id 1 2 3 text some text some other te
  • 检测屏幕上任意位置的触摸

    我想知道用户何时触摸了我的应用程序屏幕上的任何位置 我已经研究过使用 UIResponder nextResponder但不幸的是 这不起作用 因为我也会自动重新加载表 所以当发生这种情况时就会触发它 我还尝试了手势识别器 代码如下 但这只
  • firefox dev 版本中不显示的参数值去哪儿了?

    Firefox 开发者版在哪里隐藏 XHR 请求参数 这是我打开控制台工具并发出一些 XHR 请求但没有显示任何参数时的图像 当 XHR 时我使用 POST 方法 我使用的是 firefox dev 版本 57 0b11 64位 谢谢你的指
  • TS 文件中“translation”元素的“vanished”类型

    我注意到 Qt TS 文件中的某些消息的翻译元素具有 消失 类型 但其用途尚不清楚 似乎只有 未命名 上下文中的消息才具有这种类型 相应的DTD http doc qt io qt 5 linguist ts file format htm
  • OpenCV 用椭圆裁剪图像

    我有一个图像 cv Mat 大小为92x112我想用椭圆包围该图像中的对象 然后仅获取该像素来创建仅包含该对象的另一个图像 我的意思是 用椭圆裁剪原始图像 这是可能的 我正在尝试绘制一个椭圆 但椭圆没有绘制完整 如下所示 ellipse e
  • 如何通过 URI 激活打开 WinUI Maui?

    我创建了一个毛伊岛 Windows 应用程序 我希望通过 URI 激活应用程序并将查询参数传递给应用程序 我在包清单中添加了用于通过 uri 调用应用程序的 Windows 协议
  • 如何使用 AWS CDK 标记 EBS 卷?

    我正在使用 AWS CDK 创建带有 EBS 卷的实例 BlockDevice durableStorage BlockDevice builder deviceName dev sdf volume BlockDeviceVolume e
  • Scrapy tbody标签返回一个空答案,但里面有文本

    我尝试废弃并抓取一个网站 数据位于 tbody 标记 事件名称 中 当我检查谷歌控制台时 tbody标签有文本数据 但是当我尝试废弃它时 它返回一个空答案 也在scrapy shell中进行了测试 我检查了 AJAX 方法 因为它可以使脚本
  • 为什么宏扩展有时会加一个空格?

    如果我这样做 define F a F It expands to a godbolt https gcc godbolt org z reGxqz 如果我这样做 define F F It expands to with a space
  • Swift 将字节数组转换为字符串

    我无法将下面的字节数组快速转换为字符串 let chars UInt8 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 let datastring NSString data
  • 使用 mysqli_query 的长文本最大内存错误

    我工作的公司使用Kayako https www kayako com 管理其支持票证 我准备制作一个外部网络应用程序 它可以获取一家公司的所有门票并显示历史记录 我使用 mysqli query 连接到数据库 link mysqli co
  • 将数组添加到 web.config 中的键

    我想知道是否可以将数组作为键中的值 示例
  • 在 postgresql 中查找现有函数脚本的命令是什么?

    由于我们使用 sp helptext 过程名称 来获取 Sqlserver 中的 SP 脚本 因此我需要可用于从 postgresql 检索函数脚本的命令 请帮忙 如果您使用 pl sql 命令行界面 您可以使用 df 正如 tobixen
  • BGAppRefreshTask 后台任务未执行

    我正在使用新的 iOS13 后台任务框架 并实现 BGAppRefreshTask 类型 我的问题是 即使在等待几个小时之后 我的设备也永远不会调用该任务 但我能够使用调用 simulateLaunchForTaskWithIdentifi
  • 在 Tomcat 中为每个服务启用相互 SSL [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我已经成功地在客户端应用程序和 Tomcat 实例之间设置了相互 SSL 不过 我现在正在寻找一种方法 通过相互 SSL 只公开 Tomcat 中部署