獲取證書由于Tomcat和Apache類似,所以證書可以通過(guò) Apache 接口配置,使用證書和私鑰文件完成配置 證書安裝配置SSL連接器,證書解壓至Tomcat安裝目錄下的conf/ssl目錄下,沒(méi)有ssl目錄的創(chuàng)建一個(gè)、然后配置同目錄(Tomcat安裝目錄 conf/目錄)下的server.xml文件。 找到8443端口這一段,去掉8,替換certificateKeyFile ,certificateFile 的值。刪除另一個(gè)參數(shù)certificateChainFile ,配置好的內(nèi)容如下,然后重啟Tomcat。 <Connector port="443" protocol="org.apache.coyote.http11.Http11AprProtocol" maxThreads="150" SSLEnabled="true" > <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" /> <SSLHostConfig> <Certificate certificateKeyFile="D:\apache-tomcat-8.5.23\conf\SSL\niaoyun.com.key" certificateFile="D:\apache-tomcat-8.5.23\conf\SSL\niaoyun.com.crt" type="RSA" /> </SSLHostConfig> </Connector>
重啟沒(méi)有報(bào)錯(cuò)就表示配置成功了,可在瀏覽器中打開(kāi)https鏈接測(cè)試。 http自動(dòng)跳轉(zhuǎn)https的安全配置到 conf目錄 下的 web.xml 。在 </welcome-file-list> 后面,</web-app> ,也就是倒數(shù)第二段里,加上這樣一段 <login-config> <!-- Authorization setting for SSL --> <auth-method>CLIENT-CERT</auth-method> <realm-name>Client Cert Users-only Area</realm-name> </login-config> <security-constraint> <!-- Authorization setting for SSL --> <web-resource-collection> <web-resource-name>SSL</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security-constraint>
這步目的是讓非ssl的connector跳轉(zhuǎn)到ssl的connector去。所以還需要前往 server.xml 進(jìn)行配置: <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" />
redirectPort改成ssl的connector的端口443,重啟后便會(huì)生效。 |