獲取證書由于Tomcat和Apache類似,所以證書可以通過 Apache 接口配置,使用證書和私鑰文件完成配置 證書安裝配置SSL連接器,證書解壓至Tomcat安裝目錄下的conf/ssl目錄下,沒有ssl目錄的創建一個、然后配置同目錄(Tomcat安裝目錄 conf/目錄)下的server.xml文件。 找到8443端口這一段,去掉8,替換certificateKeyFile ,certificateFile 的值。刪除另一個參數certificateChainFile ,配置好的內容如下,然后重啟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>
重啟沒有報錯就表示配置成功了,可在瀏覽器中打開https鏈接測試。 http自動跳轉https的安全配置到 conf目錄 下的 web.xml 。在 </welcome-file-list> 后面,</web-app> ,也就是倒數第二段里,加上這樣一段 <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跳轉到ssl的connector去。所以還需要前往 server.xml 進行配置:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />
redirectPort改成ssl的connector的端口443,重啟后便會生效。
|