jboss5.0安裝配置總結(jié)
第1章 Jboss 配置https 協(xié)議1.1 生成keystore 文件用keytool 生成server.keystore 文件:進(jìn)入命令行C:Documents and Settingsnew>
第1章 Jboss 配置https 協(xié)議
1.1 生成keystore 文件

用keytool 生成server.keystore 文件:
進(jìn)入命令行
C:Documents and Settingsnew>
keytool -genkey -alias tc-ssl -keyalg RSA -keystore c:server.keystore -validity 3650 會(huì)提示要求輸入私鑰信息。
生成完后放入jboss安裝目錄server?faultconf下
1.2 修改deployjboss-web.deployerserver.xml文件 clientAuth="false" sslProtocol="TLS" keystoreFile="${jboss.home.dir}/server.keystore" keystorePass="ronglian" keystoreType="jks" /> 去掉該段注釋?zhuān)砑哟a(紅色標(biāo)注部分) keystoreFile 后面的內(nèi)容是server.keystore 文件的相對(duì)路徑。 keystorePass 后面的內(nèi)容是生成文件是的密碼。 1.3 修改完成后啟動(dòng)JBOSS ,訪問(wèn) 點(diǎn)擊查看證書(shū) 是否繼續(xù)選擇是。 成功訪問(wèn),注意端口號(hào)為配置文件中的8443,可以根據(jù)需要修改。 問(wèn)題:訪問(wèn)原來(lái)的也同樣可以訪問(wèn)頁(yè)面 1.4 http 自動(dòng)跳轉(zhuǎn)到https (修改web.xml 文件,配置一個(gè) HtmlAdaptor )。添加代碼: An example security config that only allows users with the role JBossAdmin to access the HTML JMX console web application 再次啟動(dòng)JBOSS 服務(wù)器,訪問(wèn) 可以看到訪問(wèn)http 已經(jīng)被自動(dòng)的轉(zhuǎn)到https 協(xié)議進(jìn)行訪問(wèn)。 1.5 相關(guān)信息 1.5.1 SSL 定義 SSL 或者Secure Socket Layer,是一種允許web 瀏覽器和web 服務(wù)器通過(guò)一個(gè)安全的連接進(jìn)行交流的技術(shù)。這意味著將被發(fā)送的數(shù)據(jù)在一端被翻譯成密碼,傳送出去,然后在另一端解開(kāi)密碼,再進(jìn)行處理。這是一個(gè)雙向的過(guò)程,也就是瀏覽器和服務(wù)器都需要在發(fā)送數(shù)據(jù)之前對(duì)它們進(jìn)行加密。 SSL 協(xié)定的另一個(gè)重要方面是認(rèn)證(Authentication)。這就是說(shuō),在你開(kāi)始試圖通過(guò)一個(gè)安全連接與一個(gè)web 服務(wù)器交流的時(shí)候,這個(gè)服務(wù)器會(huì)要求你的瀏覽器出示一組證件,通過(guò)“鑒定”的方式來(lái)證明這就是你所聲明的網(wǎng)站。 在某些情況下,服務(wù)器還會(huì)要求你的web 瀏覽器的認(rèn)證書(shū),證明你就是你所說(shuō)的那個(gè)人。這就是所知的“客戶(hù)認(rèn)證”,盡管實(shí)際情況中,更多地用在商務(wù)-對(duì)-商務(wù)(B2B)交易,而不是對(duì)個(gè)人用戶(hù)。 但大多數(shù)有SSL 功能的web 服務(wù)器不要求客戶(hù)認(rèn)證(Client Authentication)。 1.5.2 證書(shū) 為了能實(shí)施SSL ,一個(gè)web 服務(wù)器對(duì)每個(gè)接受安全連接的外部接口(IP 地址) 必須要有相應(yīng)的證書(shū)(Certificate)。關(guān)于這個(gè)設(shè)計(jì)的理論是一個(gè)服務(wù)器必須提供某種合理的保證以證明這個(gè)服務(wù)器的主人就是你所認(rèn)為的那個(gè)人。這個(gè)證書(shū)要陳述與這個(gè)網(wǎng)站相關(guān)聯(lián)的公司,以及這個(gè)網(wǎng)站的所有者或系統(tǒng)管理員的一些基本聯(lián)系信息。 這個(gè)證書(shū)由所有人以密碼方式簽字,其他人非常難偽造。對(duì)于進(jìn)行電子商務(wù)(e-commerce)的網(wǎng)站,或其他身份認(rèn)證至關(guān)重要的任何商業(yè)交易,認(rèn)證書(shū)要向大家所熟知的認(rèn)證權(quán)威(Certificate Authority (CA))如VeriSign 或Thawte 來(lái)購(gòu)買(mǎi)。這樣的證書(shū)可用電子技術(shù)證明屬實(shí)。實(shí)際上,認(rèn)證權(quán)威單位會(huì)擔(dān)保它發(fā)出的認(rèn)證書(shū)的真實(shí)性,如果你信任發(fā)出認(rèn)證書(shū)的認(rèn)證權(quán)威單位的話(huà),你就可以相信這個(gè)認(rèn)證書(shū)是有效的。 1.5.3 Java 生成證書(shū) 在許多情況下,認(rèn)證并不是真正使人擔(dān)憂(yōu)的事。系統(tǒng)管理員或許只想要保證被服務(wù)器傳送和接收的數(shù)據(jù)是秘密的,不會(huì)被連接線上的偷竊者盜竊到。慶幸的是, Java 提供相對(duì)簡(jiǎn)單的被稱(chēng)為keytool 的命令行工具,可以簡(jiǎn)單地產(chǎn)生“自己簽名”的證書(shū)。自己簽名的證書(shū)只是用戶(hù)產(chǎn)生的證書(shū),沒(méi)有正式在大家所熟知 的認(rèn)證權(quán)威那里注冊(cè)過(guò),因此不能確保它的真實(shí)性。但卻能保證數(shù)據(jù)傳輸?shù)陌踩浴?/p> 1.5.4 keytool 生產(chǎn)非簽發(fā)證書(shū) keytool -genkey -alias tomcat -keyalg RSA -keystore d:tomcat.keystore 在此命令中,keytool 是JDK 自帶的產(chǎn)生證書(shū)的工具。把RSA 運(yùn)算法則作為主要安全運(yùn)算法則,這保證了與其它服務(wù)器和組件的兼容性。 這個(gè)命令會(huì)在用戶(hù)的d:tomcat.keystore產(chǎn)生一個(gè)叫做"tomcat.keystore" 的新文件。你會(huì)被要求出示關(guān)于這個(gè)認(rèn)證書(shū)的一般性信息,如公司,聯(lián)系人名稱(chēng),等等。這些信息會(huì)顯示給那些試圖訪問(wèn)你程序里安全網(wǎng)頁(yè)的用戶(hù),以確保這里提供 的信息與他們期望的相對(duì)應(yīng)。你會(huì)被要求出示密鑰(key)密碼,也就是這個(gè)認(rèn)證書(shū)所特有的密碼(與其它的儲(chǔ)存在同一個(gè)keystore 文件里的認(rèn)證書(shū)不 同) 。你必須在這里使用與keystore 密碼相同的密碼。(目前,keytool 會(huì)提示你按ENTER 鍵會(huì)自動(dòng)幫你做這些) 。 如果一切順利,你現(xiàn)在就擁有了一個(gè)可以被你的服務(wù)器使用的有認(rèn)證書(shū)的keystore 文件。 注意: 提示名字和姓氏時(shí),應(yīng)輸入服務(wù)器的DNS 域名或者IP 地址,否則,客戶(hù)端會(huì)彈出警告窗口。" 站點(diǎn)不符" 另外,因?yàn)槭亲院灻淖C書(shū),客戶(hù)端會(huì)彈出“非信任的機(jī)構(gòu)頒發(fā)”,這時(shí)可以點(diǎn)擊“繼續(xù)”,或者安裝該證書(shū),確認(rèn)自己的信任。 1.5.5 申請(qǐng)簽發(fā)證書(shū) 自己生產(chǎn)并簽名的證書(shū)相對(duì)用戶(hù)使不可信的,也是不安全的,所以一般我們需要向證書(shū)發(fā)放機(jī)構(gòu)去購(gòu)買(mǎi)證書(shū),或者獲取免費(fèi)證書(shū),下面是正式的申請(qǐng)流程和在tomcat 中的配置,jboss 或者apache 請(qǐng)參閱相關(guān)配置。 1) 生成私鑰和公鑰對(duì)(Keystore) Create a Keystore keytool -genkey -keyalg rsa -keystore Keytool 會(huì)提示您輸入私鑰密碼、您的姓名(Your name,填單位網(wǎng)址) 、您的部門(mén)名稱(chēng)、單位名稱(chēng)、所在城市、所在省份和國(guó)家縮寫(xiě)(中國(guó)填:CN ,其他國(guó)家填其縮寫(xiě)) ,單位名稱(chēng)一定要與證明文件上的名稱(chēng) 一致,部門(mén)名稱(chēng)(OU)可以不填。除國(guó)家縮寫(xiě)必須填CN 外,其余都可以是英文或中文。請(qǐng)一定要保存好您的私鑰和私鑰密碼。WoTrust 不會(huì)要求您提供私 鑰文件! (2) 生成證書(shū)請(qǐng)求文件(CSR) Generate a CSR keytool –certreq –file certreq.csr –keystore 請(qǐng)把生成的certreq.csr 文件復(fù)制和粘貼到Thawte 證書(shū)在線申請(qǐng)頁(yè)面的CSR 文本框中,或直接發(fā)給WoTrust ,請(qǐng)等待1-2個(gè)工作日后頒發(fā)證書(shū)。 (3) 導(dǎo)入簽名證書(shū) Import Thawte Codesigning Certificate 一旦Thawte 驗(yàn)證了您的真實(shí)身份,將會(huì)頒發(fā)證書(shū)給您。您需要到Thawte 網(wǎng)站下載您的證書(shū),請(qǐng)選擇 PKCS #7 格式證書(shū)(PKCS #7 Certificate Chain) ,此證書(shū)格式含有您的證書(shū)和根證書(shū)鏈,Keytool 要求此格式證書(shū),請(qǐng)把證書(shū)保存到您的電腦中。 請(qǐng)使用如下命令導(dǎo)入您的證書(shū)到keystore 中,這里假設(shè)您的證書(shū)名稱(chēng)為:cert.cer ,請(qǐng)同時(shí)指明詳細(xì)路徑,一旦成功導(dǎo)入證書(shū),請(qǐng)及時(shí)備份您的keystore 文件: c:jdk1.5binkeytool –import –trustcacerts –keystore 第2章 Jboss 配置超時(shí)時(shí)間與端口 2.1 Jboss 超時(shí)時(shí)間設(shè)置 修改jboss-5.0.0.Beta4server?fault?ployers jbossweb.deployerconf目錄下的web.xml 文件 2.2 Jboss 修改端口 修改jboss-5.0.0.Beta4server?fault?ployersjbossweb.deployer目錄下的server.xml 文件 port="8090" address="${jboss.bind.address}" connectionTimeout="20000" redirectPort="8443" /> port="8443" address="${jboss.bind.address}" scheme="https" secure="true" clientAuth="false" keystoreFile="${jboss.home.dir}/server.keystore" keystorePass="ronglian" keystoreType="jks" sslProtocol = "TLS" /> 第3章 Jboss 配置數(shù)據(jù)源 Jboss 有一個(gè)默認(rèn)的數(shù)據(jù)源 DefaultDS ,他使用 Jboss 內(nèi)置的 HSQLDB 數(shù)據(jù)庫(kù)。實(shí)際應(yīng)用中你可能使用不同的數(shù)據(jù)庫(kù),如 MySql 、 MsSqlServer 、 Oracle 等。各種數(shù)據(jù)庫(kù)的數(shù)據(jù)源配置模版你可以在 [Jboss 安裝目 錄 ]docsexamplesjca 目錄中找到,默認(rèn)名稱(chēng)為:數(shù)據(jù)庫(kù)名 -ds.xml 。不管你使用那種數(shù)據(jù)庫(kù)都需要把他的驅(qū)動(dòng)類(lèi) Jar 包放置在 [Jboss 安裝目錄 ]server?faultlib 目錄下,放置后需要啟動(dòng) Jboss 服務(wù)器。 本實(shí)例使用的數(shù)據(jù)庫(kù)是 mysql-5.0.22 和 Ms Sql Server2000 ,使用驅(qū)動(dòng) Jar 包如下: Mysql : mysql-connector-java-3.1.13-bin.jar Ms Sql Server2000 : msbase.jar, mssqlserver.jar, msutil.jar 。 下面介紹 Mysql 和 Ms Sql Server2000 的數(shù)據(jù)源配置,數(shù)據(jù)源配置文件的取名格式必須為 xxx–ds.xml , 如 :mysql-ds.xml , mssqlserver-ds.xml , oracle-ds.xml 。 數(shù)據(jù)源文件配置好后需要放置在 [jboss 安裝目錄 ]/server/ config-name /deploy 目錄下 , 本教程采用的配置名為: default , 所以路徑為 [jboss 安裝目錄 ]/server/default/deploy 目錄 3.1 MySql 數(shù)據(jù)源的配置 下面定義一個(gè)名為 DefaultMySqlDS 的 Mysql 數(shù)據(jù)源,連接數(shù)據(jù)庫(kù)為 zhaosoft ,數(shù)據(jù)庫(kù)登錄用戶(hù)名為 root ,密碼為 admin ,數(shù)據(jù)庫(kù)驅(qū)動(dòng)類(lèi)為 org.gjt.mm.mysql.Driver 。大家只需修改數(shù)據(jù)庫(kù)名及登錄用戶(hù)名密碼就可以直接使用。 mysql-ds.xml 3.2 Ms Sql Server2000 數(shù)據(jù)源的配置 下面定義一個(gè)名為 MSSQLDS 的 Ms Sql Server 數(shù)據(jù)源,連接數(shù)據(jù)庫(kù)為 foshanshop ,數(shù)據(jù)庫(kù)登錄用戶(hù)名為 sa ,密碼為 sa ,數(shù)據(jù)庫(kù)驅(qū)動(dòng)類(lèi)為 com.microsoft.jdbc.sqlserver.SQLServerDriver 。大家只需修改數(shù)據(jù)庫(kù)名及登錄用戶(hù)名、密碼就可以直接使用。 mssqlserver-ds.xml localhost:1433;DatabaseName=foshanshop 3.3 Oralce9i 數(shù)據(jù)源的配置 下面定義一個(gè)名為 OracleDS 的 Oracle9i 數(shù)據(jù)源,連接數(shù)據(jù)庫(kù)為 FS ,數(shù)據(jù)庫(kù)登錄用戶(hù)名為 root ,密碼為 admin , 數(shù)據(jù)庫(kù)驅(qū)動(dòng)類(lèi)為 oracle.jdbc.driver.OracleDriver 。大家只需修改數(shù)據(jù)庫(kù)名及登錄用戶(hù)名密碼就可以直接使用。 oracle-ds.xml



