目录
1、mac环境下部署Tomcat服务器
2、配置单项校验的TLS服务器
3、配置双向校验的TLS服务器
1、mac环境下部署Tomcat服务器
首先,进到Tomcat官网进行下载,这里使用Tomcat8,其他版本在官网也可以找到。
本小节是基于mac环境,window环境可能会稍有不同,请另行百度或google,但2、3小节部分平台。
下载后,将压缩包解压,并命名为“ApacheTomcat”(个人喜好),放置到/Users/xxx(你的mac用户名)/Library文件夹中。
打开终端,进入到bin目录下,可借用下面命令
cd /Users/xxx(你的mac用户名)/Library/ApacheTomcat/bin
通过以下命令开启tomcat
./startup.sh
开启后,在浏览器中输入http://localhost:8080/,如果看到如下界面,说明已经部署成功。
通过以下命令关闭tomcat
./startup.sh
2、配置单项校验的TLS服务器
进入到Tomcat根目录的conf,打开server.xml文件,在Service标签(敲黑板!!小盆友当时大意,放错位置,导致浪费了些时间)中添加如下代码
<Connector
SSLEnabled="true"
acceptCount="100"
disableUploadTimeout="true"
enableLookups="true"
keystoreFile="/Users/xiaopenyou/Desktop/ceri/zinc_server.jks"
keystorePass="123456"
maxSpareThreads="75"
maxThreads="200"
minSpareThreads="5"
port="8443"
protocol="org.apache.coyote.http11.Http11NioProtocol"
scheme="https"
secure="true"
sslProtocol="TLS"
clientAuth="false"
/>
代码中需要注意的三个点:
- keystoreFile:你的密钥路径(密钥如何生成)
- keystorePass:你的密钥密码
- clientAuth:为false时,说明为单向校验,双向校验下一小节讲
设置完成保存后,重新启动服务器。在浏览器中输入https://localhost:8443/,你会看到如下熟悉的界面,说明你已经设置成功,因为这里使用的是自签名的证书,所以浏览器显示“不安全”,选择下面红色框,便能进入到真正的Tomcat界面,内容和http://localhost:8080/一样,只是多了“不安全”的提示。
3、配置双向校验的TLS服务器
进入到Tomcat根目录的conf,打开server.xml文件,在Service标签(敲黑板!!小盆友当时大意,放错位置,导致浪费了些时间)中添加如下代码
<Connector
SSLEnabled="true"
acceptCount="100"
disableUploadTimeout="true"
enableLookups="true"
keystoreFile="/Users/zinc/Desktop/ceri/zinc_server.jks"
keystorePass="123456"
maxSpareThreads="75"
maxThreads="200"
minSpareThreads="5"
port="8443"
protocol="org.apache.coyote.http11.Http11NioProtocol"
scheme="https"
secure="true"
sslProtocol="TLS"
clientAuth="true"
truststoreFile="/Users/zinc/Desktop/ceri/zinc_client_for_sever.jks"
truststorePass="123456"
/>
代码中需要注意的三个点:
- keystoreFile:你的密钥路径(密钥如何生成)
- keystorePass:你的密钥密码
- clientAuth:为true时,说明为双向校验
- truststoreFile:客户端的证书jks文件路径
注意!!!这里是jks文件,需要将客户端证书(即cer文件)转换为jks文件,如何转换可以参考https://www.jianshu.com/p/bfc15dbeedf1第五小节。(这里当时也浪费了些许时间,一开始直接设置客户端证书,导致没法正常使用)
- truststorePass:客户端的证书jks文件的密码
设置完成保存后,重新启动服务器。在浏览器中输入https://localhost:8443/,会看到如下界面,说明已经设置成功,因为双向校验中,客户端需要将自己的公钥传输给服务器进行验证,但是浏览器并没有公钥,所以会TLS握手失败,导致无法连接。
网友评论