SSL的作用
SSL协议提供的服务主要有:
1.认证用户和服务器,确保数据发送到正确的客户机和服务器;
2.加密数据以防止数据中途被窃取;
3.维护数据的完整性,确保数据在传输过程中不被改变。
SSl配置
以前的ssl都是通过宝塔一键进行创建的,但是前提是你需要实名,实名的时候就比较坑了,需要对着网站拍照,每仔细看,审核了好几次都不通过,后来才注意到这一变态的地方,也是,通过一键部署的你不知道是怎么回事,于是小编就去了解了一下。
ssl基本上是每个网站必备的,下面就来具体看一下怎么配置
其实每个版本是不一样的,在配置之前你要看清楚你是哪一个版本的,tomcat8.5和tomcat9的配置是一样的,
下面就以CentOS系统下Tomcat 8.5或9部署SSL证书的操作说明
前提条件:已购买centos服务器,并且购买域名,且域名已经过了管局的审核
操作步骤
1.申请并且解压Tomcat证书
申请通过还是挺快的,也就几分钟的时间吧
2.在Tomcat安装目录下新建cert目录,将下载的证书和密码文件拷贝到cert目录下。
3.打开Tomcat/conf/server.xml,在server.xml文件中找到以下参数并进行修改
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
#找到以上参数,去掉<!- - 和 - ->这对注释符并修改为如下参数,对HTTPS默认端口进行配置:
<Connector port="80" protocol="HTTP/1.1" #将Connector port修改为80。
connectionTimeout="20000"
redirectPort="443" /> #将redirectPort修改为SSL默认端口443,让HTTPS请求转发到443端口。
<Connector port="8443"
protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150"
SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="cert/keystore.pfx"
certificateKeystorePassword="XXXXXXX"
certificateKeystoreType="PKCS12" />
#找到以上参数,去掉<!- - 和 - ->这对注释符并修改为如下参数:
<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"
certificateKeystoreType="PKCS12" /> #证书类型为PFX格式时,certificateKeystoreType修改为PKCS12。
</SSLHostConfig>
</Connector>
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
#找到以上参数,去掉<!- - 和 - ->这对注释符并修改为如下参数:
<Connector port="8009" protocol="AJP/1.3" redirectPort="443" /> #将redirectPort修改为443,让HTTPS请求转发到443端口
4.保存server.xml文件配置。
5.在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>
6.重启Tomcat服务
./shutdown.sh
./startup.sh
7.游览器访问自己的网站,发现地址边上多了一把锁,并且地址从http变成了https