部署ssl,很多博客都让改server.xml,但是改的内容有的多了一点,有的少了一点,这里我写一个少了的:
1.在jdk的安装目录下,打开bin可以找到keytool
2.将keytool拷贝到证书目录下;
3.进入证书目录,然后输入命令keytool -list -v -keystore file.jks -storepass password,其中file.jks是证书名字,password要用密钥来代替。
4 找到 alias name 对应的就是别名
解释:配置tomcat的https之后启动报出来空指针错误,百度到的原因是tomcat代码中要求有别名,如果没有配置,默认使用“tomcat”作为别名。显然,我们的证书别名不会是tomcat。,所以使用上面的命令获取别名。
在certificateKeystorePassword="***"后添加一条:
certificateKeyAlias=“别名”
<Connector port="443" #将Tomcat中默认的HTTPS端口Connector port 8443修改为443。8443端口不可通过域名直接访问、需要在域名后加上端口号;443端口是HTTPS的默认端口,可通过域名直接访问,无需在域名后加端口号。
protocol="org.apache.coyote.http11.Http11NioProtocol" #server.xml文件中Connector port有两种运行模式(NIO和APR),请选择NIO模式(也就是protocol="org.apache.coyote.http11.Http11NioProtocol")这一段进行配置。
maxThreads="150"
SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="/usr/local/tomcat/cert/证书域名.pfx" #此处certificateKeystoreFile代表证书文件的路径,请用您证书的路径+文件名替换证书域名.pfx,例如:certificateKeystoreFile="/usr/local/tomcat/cert/abc.com.pfx"
certificateKeystorePassword="证书密码" #此处certificateKeystorePassword为SSL证书的密码,请用您证书密码文件pfx-password.txt中的密码替换,例如:certificateKeystorePassword="bMNML1Df"
certificateKeyAlias="别名"
certificateKeystoreType="PKCS12" /> #证书类型为PFX格式时,certificateKeystoreType修改为PKCS12。
</SSLHostConfig>
</Connector>
public class eight {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.print("QAQ");
}
}