由于iOS和Android开发对接后端接口都需要HTTPS,当然不强制,不过需要配置一下项目,增加SSL证书过程花费了大约1天时间,原因是网上教程太杂,所以这里记录一下配置过程。
环境:
Server version: Apache Tomcat/8.5.34Server built: Sep 4 22:28:22 UTCServer number: 8.5.34.0OS Name: LinuxOS Version:3.10.0-693.2.2.el7.x86_64Architecture: amd64JVM Version: 1.8.0_191-b12JVM Vendor:Oracle Corporation
阿里云ECS配置SSL主要分为以下几个步骤:申请SSL证书申请、Tomcat配置、阿里云安全组配置:
1、申请SSL证书申请
申请证书,并下载https://yundun./?spm=5176.100251.top-nav.dbutton.52954f15Kxyn35&p=cas#/certExtend
下载证书后,解压得到以下文件:
3931722_www.你的域名.com.pfxpfx-password.txt
将下载好的证书和密码文件放在服务器目录中,我这里是在usr/local/tomcat/conf中新建cert目录,然后把证书和密码文件拷贝进去
bin BUILDING.txt conf CONTRIBUTING.md lib LICENSE logs NOTICE README.md RELEASE-NOTES RUNNING.txt temp webapps work[root@centos tomcat]# cd conf[root@centos conf]# lsCatalina catalina.properties context.xml jaspic-providers.xsd server.xml server.xml.2 tomcat-users.xml web.xmlcatalina.policy cert jaspic-providers.xml logging.properties server.xml.1 server.xml_bk tomcat-users.xsd[root@centos conf]# cd cert[root@centos cert]# ls3931722_www.你的域名.com.pfx pfx-password.txt[root@centos cert]#
2、Tomcat配置
tomcat - conf - server.xml,编辑以下部分配置:
<Connector port="80" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="443" /><Connector executor="tomcatThreadPool"port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="443"/> <Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol"SSLEnabled="true"maxThreads="150" scheme="https" secure="true"keystoreType="PKCS12"keystoreFile="../tomcat/conf/cert/你的ssl证书名字.pfx" keystorePass="你的ssl证书密码"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"/><Host name="localhost" appBase="/data/wwwroot/"unpackWARs="true" autoDeploy="true">
这里需要注意:
(1)不能配置域名或IP,网上一些教程会这样adress="147.222.122.222" ,配置后tomcat启动失败。port="443",是因为https默认端口是443,默认配置是8443,需要改成443。
(2)keystoreFile 配合你证书的路径,keystorePass=配合你证书的密码。申请SSL证书
3、阿里云安全组配置
安全组配置中,增加443端口,出方向和入方向都配置一下,使用快速添加就好:
然后重新启动Tomcat,试一下是否域名可以访问。如果出现问题,请查看tomcat log日志。在tomcat/logs中,对应着原因去修改。
由于ECS相关配置很多,我这里仅仅描述SSL配置关键步骤和容易出现的问题。如果有其他问题,也欢迎随时交流。