生成證書
進入到Tomcat的conf目錄下
在Tomcat的conf目錄下輸入生成證書指令
keytool -genkey -alias tomcat -keyalg RSA -validity 3600 -keystore .keystore
參數詳解
- keytool -genkey:自動使用預設的算法生成公鑰和私鑰
- alias[名稱]:給證書取個别名
- keyalg:制定密鑰的算法,如果需要制定密鑰的長度,可以再加上keysize參數,密鑰長度預設為1024位,使用DSA算法時,密鑰長度必須在512到1024之間,并且是64的整數倍
- keystore:參數可以指定密鑰庫的名稱。密鑰庫其實是存放迷藥和證書檔案,密鑰庫對應的檔案如果不存在會自動建立。
- validity:證書的有效日期,預設是90天
- keypass changeit:不添加證書密碼
- storepass changeit:不添加存儲證書的密碼
按照指令提示往下操作
Tomcat配置https
在/tomcat/conf的安裝目錄下的找到server.xml 檔案,修改 server.xml 檔案,配置https連接配接器。新增一個Connector,tomcatm預設隻有8080的。
tomcat 8.0以上的版本配置
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="conf/.keystore"
type="RSA" certificateKeystorePassword="123456" />
</SSLHostConfig>
</Connector>
tomcat8及8以下的版本配置
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="conf/.keystore" keystorePass="123456"
/>
啟動Tomcat通路8443端口
web項目強制跳轉https
在項目的web.xml最後加上如下代碼即可
<!-- 配置http自動轉為 https -->
<security-constraint>
<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>