审核了很久的域名终于过了,记录下给阿里云服务器设置https的过程。
首先登陆阿里云账号,在搜索框搜索SSL免费证书,进入云市场,
选择第一个证书阿里云SSL证书 Symantec 免费版DV SSL,点击立即购买,
0元直接付款即可,然后搜索SSL控制台,进入控制台
选择刚刚购买的证书,点击申请
右侧会弹出需要填写的内容,
点击下一步
提交审核。
审核通过会在已经签发中找到该证书,点击下载
选择tomcat下载 注意,每次下载密钥都会更新,没有必要时不要重复下载
下载的文件解压后会获得
一个pfx证书文件,和一个txt的文本密钥,
现在需要打开tomcat的目录,新建cert文件夹,把pfx证书文件放入这个文件夹
打开server.xml找到,把改成80,8443修改为443
修改后
然后把下面的配置复制到配置文件中:
<Connector port="443"
protocol="org.apache.coyote.http11.Http11Protocol"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="cert/1914229.pfx"
keystoreType="PKCS12"
keystorePass="替换为下载文件的txt文本中的内容"
clientAuth="false"
SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>
keystoreFile:指向cert/复制的证书文件的名字
keystorePass:为txt文本中的密钥
其余不用改动,然后启动tomcat
就可以用https连接了
需要注意的是,在尝试tomcat8.5时,回报出classnotfound错误,原因是高版本的tomcat配置项会不同,需要引入另一种写法:
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="cert/1914229.pfx"
certificateKeystoreType="PKCS12" certificateKeystorePassword="替换为下载文件的txt文本中的内容" />
</SSLHostConfig>
</Connector>
如果还是不行,请检查服务器安全组配置对应的443端口也要打开。