簡體   English   中英

帶有HTTPS REST設置的Tomcat

[英]Tomcat with HTTPS REST Setup

我正在使用Jersey for Tomcat編寫REST服務器。 我精通Java,但這是我第一次為Web寫作,所以我希望這個問題不會傻。 我已經嘗試過搜索所有內容,但是無法給出我很了解的答案。

我正在嘗試利用HTTPS和基本身份驗證,但是我不知道是否必須在實際的Java中編寫任何內容才能完成此任務。 Tomcat是否負責SSL信息的所有加密/解密,還是我必須在服務器代碼中做一些事情來解決這一問題? 在客戶端中,我知道我將手動執行此操作,但是在服務器端找不到有關如何執行此操作的任何信息。 它是Tomcat設置嗎? 我是否必須將Tomcat設置為僅將HTTPS流量轉發到我的服務器,然后它將解密並將解密的信息發送到我的服務器,在該服務器中,它的行為就像是常規的未加密命令一樣?

對於服務器,首先需要確保Tomcat配置為支持HTTPS / SSL / TLS。 這包括設置密鑰庫和編輯配置文件。 您可以在SSL / TLS Configuration HOW-TO中查看有關如何執行此操作的所有詳細信息。 請注意,該鏈接是針對Tomcat 8的。對於Tomcat 7,您應該搜索相應的文檔。

設置好之后,要做的就是實際使用HTTPS,就是在Web應用程序的web.xml文件中將<transport>設置為CONFIDENTIAL

<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將查找身份驗證的用戶存儲的訪問點。 要了解有關設置領域的更多信息,請參閱領域配置指南 (同樣是Tomcat 8鏈接)。 有多種類型的領域可供選擇,因此只需選擇一種即可,例如JDBC領域。

就是這樣。 我認為我提供的鏈接不是貨物教程,而是貨物官員的資料,在解釋方面比我能做的更好。 如果這對您來說是新事物,則可能需要一天的時間來進行設置,但是我相信您將從這些文檔中學到很多東西。

另一件事,如果要進行授權,請在tomcat中使用角色設置領域(請參見JDBC領域部分中的示例),然后可以使用web.xml中的角色授權配置(請參見“保護Web應用程序”鏈接) ),也可以使用Jersey的基於角色的授權,這將提供更好的控制。 為此,請參閱授權-保護資源

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM