gpt4 book ai didi

rest - 具有 HTTPS REST 设置的 Tomcat

转载 作者:行者123 更新时间:2023-11-28 22:27:48 25 4
gpt4 key购买 nike

我正在使用 Jersey for Tomcat 编写 REST 服务器。我精通 Java,但这是我第一次为网络写作,所以我希望这个问题不是愚蠢的。我试过到处搜索,但无法得出我理解的答案。

我正在尝试使用 HTTPS 和基本身份验证,但我不知道是否必须在实际的 Java 中编写任何内容才能完成此操作。 Tomcat 是否负责 SSL 信息的所有加密/解密,或者我是否必须在我的服务器代码中做一些事情来处理这个?在客户端我知道我将手动执行此操作,但我找不到有关如何在服务器端执行此操作的任何信息。它是Tomcat设置吗?我是否必须将 Tomcat 设置为仅将 HTTPS 流量转发到我的服务器,然后它会解密并将解密后的信息发送到我的服务器,在那里它会像普通的未加密命令一样运行?

最佳答案

对于服务器,首先需要确保Tomcat配置为支持HTTPS/SSL/TLS。这包括设置 keystore 和编辑配置文件。您可以在 SSL/TLS Configuration HOW-TO 查看有关如何执行此操作的所有详细信息。 .请注意,该链接适用于 Tomcat 8。对于 Tomcat 7,您应该搜索相应的文档。

设置完成后,要真正使用 HTTPS,剩下要做的就是设置 <transport>CONFIDENTIAL在您的 Web 应用程序的 web.xml 文件中。

<security-constraint>
...
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>

如果您从未设置过 web.xml 安全性,那么您需要花时间阅读 Securing Web Applications .还有一个部分是关于使用 web.xml 配置设置基本身份验证。

当您获得有关基本身份验证的部分时,您会注意到 <realm-name> 的配置.领域是需要用 Tomcat 设置的东西。这基本上是 Tomcat 将查找身份验证的用户存储的访问点。要阅读有关设置领域的更多信息,请参阅 Realm Configuration HOW-TO (同样这是一个 Tomcat 8 链接)。有不同类型的领域可供选择,因此只需选择一种,例如 JDBC 领域。

就是这样。我认为我提供的链接不是提供教程,而是商品官方资源,它们在解释方面比我做得更好。如果这对您来说是全新的,您可能需要一天时间来设置所有内容,但我相信您会从这些文档中学到很多东西。

另一件事,如果你想做授权,一旦你在 tomcat 中用角色设置领域(参见 JDBC 领域部分的例子),你可以使用 web.xml 中的角色授权配置(参见“Securing Web应用程序”链接)或者您可以使用 Jersey 的基于角色的授权,这将提供更精细的控制。为此,请参阅 Authorization - securing resources

关于rest - 具有 HTTPS REST 设置的 Tomcat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34688719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com