在專案開發過程中,嚐嚐會遇到tomcat需要ssl通訊的需求。尤其是在需要安全web應用時,需要https協議的通訊。由於tomcat預設情況下沒有提供ssl通訊設定,因此必須明白如何在tomcat下配置ssl。更糟糕的是,tomcat的不同版本,其ssl配置有所不同。所以,本文將講述如何在tomcat的主要版本(即6和7)下,配置ssl通訊。
ssl、https和證書是任何j**a程式設計師都應該了解的基礎知識,尤其是對那些開發金融和安全敏感類的網際網路應用的開發者。ssl、https和證書三者的協同工作,保證了客戶端和伺服器的安全通訊。
開發使用http協議訪問的web應用,安全是主要關心的問題。由於http協議是以純文字格式傳輸資料的,它在傳輸敏感資訊(如使用者名稱、密碼、社保號、信用卡資訊等)時,是很不安全的。http協議不能保證**的可靠性,url的重定向可以使得假冒**代替真正的**,http是不會阻止這一切的,也不會提醒使用者。
https和ssl就是解決上述問題的。https是http之上的ssl,ssl代表安全套接字層,它提供了**的加密和驗證。所以,那些商務**、銀行都在使用https協議。當使用https協議進行資料傳輸時,在客戶端和伺服器端之間傳輸前,資料是加密了的。因此,任何人都可以攔截或捕獲https,但是看不到真實的內容。ssl還利用第三方發行機構(如verisign、godaddy,thwate等)發行的證書來驗證**的真實可靠性。
證書是怎樣工作的呢?當客戶端瀏覽器使用https連線到伺服器,伺服器返回第三方機構發行的證書。如果證書是j**a程式,能訪問到證書keystore和truststore的存根,瀏覽器端也有儲存的可信證書,可驗證伺服器提供的證書。如果瀏覽器或任何j**a客戶端,沒有找到這些證書,它會警告說證書不可識別,推薦你不訪問此**。你也可以手動信任任何**,請求瀏覽器相信伺服器提供的證書。
在開發的情況下,tomcat返回自簽名的證書或測試證書。對於j**a程式設計師,jdk自帶了乙個keytool工具,他能用於建立自簽名的證書,並儲存到keystore和truststore供使用。
你可以從windows的支援團隊請求證書,或者使用工具如ibm ikeyman或keytool命令產生證書,並放入truststore和keystore中。
一旦證書已經準備好,開啟tomcat/conf目錄下的server.xml配置檔案,查詢connector標籤,它定義https通訊,通常它被注釋掉了,所以可以查詢「define a ssl http/1.1 connector on port 8443」,一旦找到,使用下面的配置進行替換。
在tomcat6中定義ssl通訊:
還需修改這個:
在tomcat7中配置ssl通訊:
怎樣配置j**a web程式使用https
如果想要你的j**aee web程式使用https協議實現ssl通訊,你需要在web.xml配置檔案中新增:
hellossl/*confidential
tomcat6和tomcat7管理員配置的區別
copy,記錄下 最近在使用tomcat7,使用中發現 tomcat7配置管理員等資訊和tomcat6不一樣,於是記錄下其不同之處。一 tomcat6配置管理員資訊 1 開啟tomcat6下的 conf tomcat users.xml檔案,關於使用者角色 管理員的資訊都在這個配置檔案中。2 在配置...
tomcat6使用備忘
剛剛解壓版的tomcat6.0.18,啟動setup.bat後,通過瀏覽器訪問 問題原因 d tomcat6.0 conf 目錄下的 tomcat users.xml 檔案內容如下 問題修改 將tomcat users.xml 檔案內容改為 重新啟動tomcat 在登入時使用 使用者名稱admin ...
tomcat6目錄結構
首先來了解一下 tomcat5.5 的目錄結構 bin 存放windows 或linux 平台上啟動和關閉 tomcat 的指令碼檔案 conf 存放tomcat 伺服器的各種全域性配置檔案,其中包括 server.xml tomcat 的主要配置檔案 tomcat users.xml 和web.x...