共计 3194 个字符,预计需要花费 8 分钟才能阅读完成。
CentOS 下使用 Tomcat 搭建 HTTPS 协议服务器详解
一、安装 java jdk 配置环境变量
1、卸载原有 openjdk
yum -y remove java-1.7.0-openjdk*
yum -y remove tzdata-java.noarch
2、下载新的 jdk 并解压
[root@localhost java]# curl -O http://download.Oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz
[root@localhost java]# tar -zxvf jdk-7u79-linux-x64.tar.gz
关于下载 jdk 方式其实很多,你可以通过指令或则是 ftp 在本地下载后上传到 centos 上去。
3、配置环境变量
vim /etc/profile 通过该指令进入到 java 配置设置文件下,按 i 进入编辑状态,然后在该文件的最后输入下面的代码。java 环境变量配置完成
#set java environment
JAVA_HOME=/usr/java/jdk1.7.0_79
JRE_HOME=/usr/java/jdk1.7.0_79/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
完毕后退出 [root@localhost java]# source /etc/profile(让刚才修改的配置生效)
然后你可以输入 java -version 你可以看到你最新搭建的环境变量
二、创建 https 访问证书,增加证书到 tomcat 配置
1、创建证书
首先进入 JAVA_HOME 的 bin 目录下输入如下代码:
cd /usr/java/jdk1.7.0_79/bin/
keytool -genkey -alias tomcat -keyalg RSA -keystore /usr/local/tomcat/tomcat.keystore -validity 36500
Enter keystore password: #此处需要输入大于 6 个字符的字符串
Re-enter new password:
What is your first and last name? #“您的名字与姓氏是什么?”这是必填项,
[Unknown]: haha
What is the name of your organizational unit? #“你的组织单位名称是什么?”可以按照需要填写也可以不填写直接回车,实验中直接回 车
[Unknown]:
What is the name of your organization? #“您的组织名称是什么?”,同上直接回车
[Unknown]:
What is the name of your City or Locality? #“您所在城市或区域名称是什么?,同上直接回车
[Unknown]:
What is the name of your State or Province? #“您所在的州或者省份名称是什么?”
[Unknown]:
What is the two-letter country code for this unit? #“该单位的两字母国家代码是什么?”
[Unknown]:
Is CN=10.15.24.254, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown correct? #系统询问“正确 吗?”时,对照 输入信息,如果符合要求则使用键盘输入字母“y”,否则输入“n”重新填写上面的信息
[no]: y
Enter key password for
(RETURN if same as keystore password): #输入的主密码,这项较为重要,会在 tomcat 配置文件中使用,建议输入与 keystore 的密码一 致,设置其它密码也可以
Re-enter new password:
2、修改 tomcat 的 server.xml 配置文件,使其支持 https
cd /tomcat/conf/
vim server.xml
增加 https 的节点配置, 下面这个节点在 server.xml 中是存在的,但是被注释掉了,你将注释取消后,增加两个属性,一个是证书路径,一个是证书密码即可。
三、防火墙端口配置
vim /etc/sysconfig/iptables 进入端口设置文件编辑状态
这里要注意一下 centos 有的版本没有 iptables 文件,如果没有就需要自己创建一个
创建方法:cd /etc/sysconfig/
然后执行:iptables -P OUTPUT ACCEPT service iptables save service iptables restart
创建完毕后再运行: vim /etc/sysconfig/iptables
tomcat 中对 http 访问设置的端口是 8080,这里我没设置该端口所以 http 访问方式作废。只能访问 https,tomcat 中 https 的默认设置端口是 8443
但是 https 自默认端口是 443 所以只要将 tomcat 中的 8443 修改为 443 就可以直接在 ip 前面加上 https://ip 直接访问。
四、搭建中遇到的坑
我这里使用的 centos 服务器是 6.5 版本,系统自带了 openjdk 1.7.*,第一步中要卸载系统自带的 openjdk 的原因是因为 openjdk 下的 toolkey 生成的证书,是无效证书,无法访问 https,你可以使用 curl -v https://ip 运行之后等一会出现错误编号,然后可以打开:http://www-archive.mozilla.org/projects/security/pki/nss/ref/ssl/sslerr.html 进行对比查询。就因为这 openjdk 搞得我多次重次环境,之后突然想到可能会是这个原因,网上一查真有人说 了。
yum update nss 升级 nss,不管你是哪个版本的 centos 你最后都执行下这句代码。否则你通过
curl 访问 ip 会遇到 NSS ERROR -59990
更多 Tomcat 相关教程见以下内容:
CentOS 6.6 下安装配置 Tomcat 环境 http://www.linuxidc.com/Linux/2015-08/122234.htm
RedHat Linux 5.5 安装 JDK+Tomcat 并部署 Java 项目 http://www.linuxidc.com/Linux/2015-02/113528.htm
Tomcat 权威指南(第二版)(中英高清 PDF 版 + 带书签) http://www.linuxidc.com/Linux/2015-02/113062.htm
Tomcat 安全配置与性能优化 http://www.linuxidc.com/Linux/2015-02/113060.htm
Linux 下使用 Xshell 查看 Tomcat 实时日志中文乱码解决方案 http://www.linuxidc.com/Linux/2015-01/112395.htm
CentOS 64-bit 下安装 JDK 和 Tomcat 并设置 Tomcat 开机启动操作步骤 http://www.linuxidc.com/Linux/2015-01/111485.htm
CentOS 6.5 下安装 Tomcat http://www.linuxidc.com/Linux/2015-01/111415.htm
Tomcat 的详细介绍:请点这里
Tomcat 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-08/134339.htm