https://192.168.0.140:8443
Linux-SSL-Tomcat单双向认证配置
https://192.168.0.140:8443
本教程使用 JDK 6 和 Tomcat 6,其他版本类似。Linux下配置Tomcat与Windows下配置操作基本一致,本文着重描述的是Linux下的一些指令操作。
由于Tomcat是基于JDK开发环境的,在配置Tomcat之前应首先保证Linux系统上已成功配置JDK。
1. Linux上JDK的配置
1. JDK的下载
本机去官网下载JDK的linux安装包jdk-6u25-linux-x64-amd.rpm,用Xftp将安装包移到虚拟机中的/usr/java文件夹下(当然也可以在虚拟机上直接连网下载)
2. JDK的安装
在linux虚拟机上解压缩JDK安装包并安装,运行指令:rpm -ivh jdk-6u25-linux-x64-amd.rpm
[root@bogon java]# rpm -ivh jdk-6u25-linux-amd64.rpm
Preparing... ########################################### [100%]
package jdk-2000:1.6.0_25-fcs.x86_64 is already installed
查看/usr/java文件夹下的文件:
[root@bogon java]# ls
default sun-javadb-common-10.6.2-1.1.i386.rpm
jdk1.6.0_25 sun-javadb-core-10.6.2-1.1.i386.rpm
jdk-6u25-linux-amd64.rpm sun-javadb-demo-10.6.2-1.1.i386.rpm
jdk-6u25-linux-x64-rpm.bin sun-javadb-docs-10.6.2-1.1.i386.rpm
latest sun-javadb-javadoc-10.6.2-1.1.i386.rpm
sun-javadb-client-10.6.2-1.1.i386.rpm
可以看到解压缩出的jdk1.6.0_25,查看jdk1.6.0_25安装包内的文件:
[root@bogon java]# cd jdk1.6.0_25/
[root@bogon jdk1.6.0_25]# ls
bin jre README.html sample
COPYRIGHT lib register.html src.zip
demo LICENSE register_ja.html THIRDPARTYLICENSEREADME.txt
include man register_zh_CN.html
其中bin文件夹即为需要配置的环境变量的文件夹路径,lib文件夹即为需要配置的classpath的文件夹路径
3.环境变量的配置
运行vi etc/profile/ 指令:
[root@bogon //]# vi etc/profile
在profile文件最后加上以上几行。
export JAVA_HOME=/usr/java/jdk1.6.0_25
export JRE_HOME=/usr/java/jdk1.6.0_25/jre
export CLASSPATH=.;$JAVA_HOME/lib/dt.jar;$JAVA_HOME/lib/tools.jar;$JRE_HOME/lib
export PATH=$PATH;$JAVA_HOME/bin
:wq 保存并退出,运行
source /etc/profile指令使配置文件生效
[root@bogon //]# source /etc/profile
bash: /usr/java/jdk1.6.0_25/lib/dt.jar: Permission denied
bash: /usr/java/jdk1.6.0_25/lib/tools.jar: Permission denied
bash: /usr/java/jdk1.6.0_25/jre/lib: is a directory
bash: /usr/java/jdk1.6.0_25/bin: is a directory
检查是否安装成功,运行java -version
[root@bogon //]# java -version
java version "1.6.0_25"
Java(TM) SE Runtime Environment (build 1.6.0_25-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.0-b11, mixed mode)
显示java版本信息,表明已安装成功。
2.Linux上Tomcat的配置
1.Tomcat的下载
本机去官网下载Tomcat的linux压缩包apache-tomcat-6.0.48.tar.gz,用Xftp将安装包移到虚拟机中的/usr/local/tomcat文件夹下(当然也可以在虚拟机上直接连网下载)
将本机的配置windows时生成的keystore移到linux虚拟机/usr/loacal/keystore文件下作为服务器证书、服务器信任证书库以及客户端证书。
2.Tomcat的安装
在linux虚拟机上解压缩Tomcat安装包并安装,运行指令:tar -xzvf apache-tomcat-6.0.48.tar.gz
[root@bogon tomcat]# tar -xzvf apache-tomcat-6.0.48.tar.gz
查看/usr/local/tomcat文件夹下的文件:
[root@bogon tomcat]# ls
apache-tomcat-6.0.48 apache-tomcat-6.0.48.tar.gz keystore
可以看到解压缩出的apache-tomcat-6.0.48文件夹,查看其中的文件
[root@bogon tomcat]# cd apache-tomcat-6.0.48
[root@bogon apache-tomcat-6.0.48]# ls
bin conf lib LICENSE logs NOTICE RELEASE-NOTES RUNNING.txt temp webapps work
其实bin文件夹下包含了Tomacat启动程序,conf文件夹包含配置文件,log文件夹为Tomcat的日志信息。
3.修改Tomcat配置文件
查看conf文件夹下的文件
[root@bogon conf]# ls
Catalina catalina.properties logging.properties tomcat-users.xml
catalina.policy context.xml server.xml web.xml
修改server.xml配置文件
[root@bogon conf]# vi server.xml
在其中添加如下内容:
<Connector SSLEnabled="true" acceptCount="100" clientAuth="true"
disableUploadTimeout="true" enableLookups="false" maxThreads="25"
port="8443" secure="true" sslProtocol="TLS"
keystoreFile="G:/tomcat.keystore"
keystorePass="123456"
truststoreFile="G:/trust.keystore"
truststorePass="123456"
protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https"/>
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
:wq 保存并退出。
查看bin文件夹下的文件
[root@bogon apache-tomcat-6.0.48]# cd bin
[root@bogon bin]# ls
bootstrap.jar cpappend.bat shutdown.bat tool-wrapper.bat
catalina.bat daemon.sh shutdown.sh tool-wrapper.sh
catalina.sh digest.bat startup.bat version.bat
catalina-tasks.xml digest.sh startup.sh version.sh
commons-daemon.jar setclasspath.bat tomcat-juli.jar
commons-daemon-native.tar.gz setclasspath.sh tomcat-native.tar.gz
其中的startup.sh为Tomcat的启动程序,shutup.sh为关闭程序。启动Tomcat服务器
[root@bogon bin]# ./shutdown.sh
Using CATALINA_BASE: //usr/local/tomcat/apache-tomcat-6.0.48
Using CATALINA_HOME: //usr/local/tomcat/apache-tomcat-6.0.48
Using CATALINA_TMPDIR: //usr/local/tomcat/apache-tomcat-6.0.48/temp
Using JRE_HOME: /usr/java/jdk1.6.0_25/jre
Using CLASSPATH: //usr/local/tomcat/apache-tomcat-6.0.48/bin/bootstrap.jar
[root@bogon bin]# ./startup.sh
Using CATALINA_BASE: //usr/local/tomcat/apache-tomcat-6.0.48
Using CATALINA_HOME: //usr/local/tomcat/apache-tomcat-6.0.48
Using CATALINA_TMPDIR: //usr/local/tomcat/apache-tomcat-6.0.48/temp
Using JRE_HOME: /usr/java/jdk1.6.0_25/jre
Using CLASSPATH: //usr/local/tomcat/apache-tomcat-6.0.48/bin/bootstrap.jar
4.将证书导入到firefox浏览器中
点击firefox中的Edit菜单下的preference选项,弹出如下界面:
点击Advanced 下Encryption下的View Certificates选项:
选择Your Certificate项,点击Import按钮:
选择第一步中导入到/usr/local/tomcat/keystore中的证书,点击open弹出密码输入框:
输入keystore的密码,点击OK:
弹出证书导入提示框,点击OK:
可以看到客户端证书已经被成功导入到firefox浏览器中。
5.测试
打开firefox浏览器,输入web服务地址和端口:[https://192.168.0.140:8443/]回车确认将会显示如下图所示界面:
点击确定,弹出Tomcat连接成功界面。
6.防火墙设置
以上配置已实现linux虚拟机自身Tomcat的访问,如想要实现本机访问虚拟机上的Tomcat服务器,则需要进行防火墙端口的设置。
1、直接打开端口:
iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
2、永久打开某端口
首先,用vim打开防火墙配置文件:
vim /etc/sysconfig/iptables
然后,在iptables文件内容中加入如下内容:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8443 -j ACCEPT
最后,保存配置文件后,执行如下命令重启防火墙:
service iptables restart
打开本机firefox浏览器,输入web服务地址和端口:[https://192.168.0.140:8443/]回车确认将会显示如下图所示界面: