Tomcat 实现HTTPS访问

1、安装Tomcat

1、安装JDK

[root@tomcat-web~]# rpm -ivh jdk-8u161-linux-x64.rpm 

2、添加并加载Java系统环境变量

[root@tomcat-web ~]# cat /etc/profile.d/java.sh 
export JAVA_HOME=/usr/java/latest
export PATH=$JAVE_HOME/bin:$PATH

[root@tomcat-web ~]# . /etc/profile.d/java.sh  #加载环境变量
[root@tomcat-web ~]# java -version  # 测试是否生效

3、安装Tomcat

[root@tomcat-web ~]# tar  -zxf apache-tomcat-8.0.50.tar.gz  -C /usr/local/
[root@tomcat-web ~]# ln -s /usr/local/apache-tomcat-8.0.50/ /usr/local/tomcat

4、添加并加载Tomcat系统环境变量

[root@tomcat-web ~]# cat /etc/profile.d/tomcat.sh 
export CATALINA_HOME=/usr/local/tomcat
export PATH=$CATALINA_HOME/bin:$PATH
[root@tomcat-web ~]# . /etc/profile.d/tomcat.sh
[root@tomcat-web ~]# catalina.sh version # 测试是否生效

5、启动Tomcat服务

[root@tomcat-web ~]# catalina.sh  start

6、浏览器测试访问

Tomcat默认端口为8080,使用IP+8080访问即可;
Tomcat 实现HTTPS访问
★ 到这里,Tomcat就安装完成了,但是只是默认环境,还需要根据需求自定义配置;

2、实现HTTPS访问

1、添加域名解析

到域名所属解析商处,添加一条A记录指向你的服务器IP即可;

2、申请或购买证书,上传证书

在tomcat目录新建一个cert目录,将证书文件上传到这个目录;

[root@tomcat-web ~]# cd /usr/local/tomcat/
[root@tomcat-web tomcat]# mkdir cert
[root@tomcat-web tomcat]# rz

3、证书安装

1、PFX证书安装

VIM打开server.xml,添加ssl连接器,在8080端口连接器下面添加如下配置:

<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
    maxThreads="150" scheme="https" secure="true"
    keystoreFile="/usr/local/tomcat/cert/你的证书文件.pfx"
    keystoreType="PKCS12"
    keystorePass="证书私钥密码"
    clientAuth="false" sslProtocol="TLS" />

2、JKS证书安装

( 1 ) 使用java jdk将PFX格式证书转换为JKS格式证书(windows环境注意在%JAVA_HOME%/jdk/bin目录下执行)

keytool -importkeystore -srckeystore 你的证书文件.pfx -destkeystore 你的证书文件.jks -srcstoretype PKCS12 -deststoretype JKS

回车后输入一次PFX证书密码,然后输入两次要设置的JKS证书密码,并牢记此证书密码。
( 2 ) VIM打开server.xml,添加ssl连接器,在8080端口连接器下面添加如下配置:

<Connector port="8443" protocol="HTTP/1.1"
    maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
    keystoreFile="//usr/local/tomcat/cert/你的证书文件.jks"
    keystorePass="证书私钥密码"
    clientAuth="false" sslProtocol="TLS" />

4、重启Tomcat

[root@node1 tomcat]# /usr/local/tomcat/catalina.sh stop && catalina.sh start

5、浏览器测试访问

Tomcat 实现HTTPS访问

3、配置http自动跳转到https

1、修改web.xml

在后面,也就是倒数第二行里,加上如下配置:

<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>

2、修改server.xml

修改非SSL连接器的请求跳转到SSL连接器上,修改如下配置:

原来为:
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
修改为:
    <Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="443" />

★将默认8080端口修改为80端口,访问时就不需要加8080端口了,因为HTTP协议默认走的是80端口;
★将8443端口修改为443端口,意思是来自80端口的请求都跳转至443端口;

3、重启Tomcat

[root@node1 tomcat]# /usr/local/tomcat/catalina.sh stop && catalina.sh start

4、浏览器测试访问

Tomcat 实现HTTPS访问

上一篇:GMP模型


下一篇:netcat-flume-logger