window环境下:
配置好java环境变量。使用jdk自带工具 keytool.exe 生成证书,默认生成路径是在当前用户目录下。
打开命令行:keytool -genkey -alias tomcat -keyalg RSA
执行命令后,会提示你提供 keystore 的密码,Tomcat默认使用的密码是 changeit ,也可自定义(此密码需要在server.xml中配置)
回车,接下来会提示关于证书的一般信息,比如组织、联系人名称等等。
最后还需要输入 密钥 密码,这个密码是这一证书的专有密码。
修改server.xml配置:添加到Service节点下面。证书我是放到tomcat目录下面。
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
keystoreFile="./.keystore" keystorePass="changeit"
clientAuth="false" sslProtocol="TLS"/>
如果需要把所有 HTTP 请求都转到 HTTPS 协议上,修改 tomcat 的 conf下的 web.xml,在<welcome-file-list></welcome-file-list> 节点下添加一下代码:
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<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>
</welcome-file-list>