基于Linux的CentOS7环境下部署配置Tomcat服务器+全局HTTPS+TLS1.2
Posted 柚壳Youkr
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于Linux的CentOS7环境下部署配置Tomcat服务器+全局HTTPS+TLS1.2相关的知识,希望对你有一定的参考价值。
1、安装JDK1.8
安装jdk使用yum安装方式
[root@localhost ~]# yum search jdk //查找yum库中的jdk版本
[root@localhost ~]# yum install java-1.8.0-openjdk //从查找出的版本列表中选择安装最新的jdk1.8
等待complete提示安装完成
2、安装Tomcat8.5+配置全局HTTPS+TLS1.2
由于linux环境下安装修改Tomcat配置比较繁琐,于是采用本地修改配置文件,然后上传服务器的方式
下载后本地解压,打开tomcat文件夹下面的conf文件夹,将从域名服务商申请的SSL证书下载包的Tomcat文件夹(包含密钥库文件和密钥库密码文件)中密钥库文件www.domain.com.jks复制到conf文件夹中,并且找到并修改配置server.xml文件,在8080端口配置后面添加443端口配置
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
keystorePass="changeit" // 密钥库密码文件keystorePass.txt中的密码
clientAuth="false" sslProtocol="TLSv1.2"
SSLCipherSuite="ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4" />
配置文件参数 | 说明
clientAuth | 如果设为true,表示Tomcat要求所有的SSL客户出示安全证书,对SSL客户进行身份验证
keystoreFile | 指定keystore文件的存放位置,可以指定绝对路径,也可以指定相对于(Tomcat安装目录)环境变量的相对路径。如果此项没有设定,默认情况下,Tomcat将从当前操作系统用户的用户目录下读取名为 “.keystore”的文件。
keystorePass | 密钥库密码,指定keystore的密码。(如果申请证书时有填写私钥密码,密钥库密码即私钥密码,否则填写密钥库密码文件中的密码)
sslProtocol | 指定套接字(Socket)使用的加密/解密协议,默认值为TLS
将8080端口设置中的redirectPort改为443端口
<Connectorport="8080"protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443"/>
找到conf文件夹下的web.xml文件,在</welcome-file-list>后面,</web-app>前面,也就是倒数第二段里,加上http自动跳转https的以下安全配置
<login-config>
<!-- Authorization setting for SSL -->
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
<!-- Authorization setting for SSL -->
<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>
至此Tomcat配置完成,保存修改后的文件,使用服务器上传工具将tomcat文件夹上传到服务器home目录下
将web项目上传到服务器中tomcat文件夹下的webapps目录下,使用以下命令启动Tomcat服务
[root@localhost ~]# cd /home/tomcat/bin //切换到tomcat的bin目录下
[root@localhost bin]# ./startup.sh //启动tomcat服务
这样就可以了通过域名访问部署的web项目了
以上是关于基于Linux的CentOS7环境下部署配置Tomcat服务器+全局HTTPS+TLS1.2的主要内容,如果未能解决你的问题,请参考以下文章
CentOS7.X环境下基于docker安装部署RabbitMQ集群