apache+tomcat+jk+ssl实现tomcat集群https服务(linux)

需要安装包:apache2.22,tomcat7.0.23,openssl,tomcat-connectors(jk),部分操作需要高级权限,如创建用户,部分文件操作,启动apache(占用80端口)。

 

一、tomcat

tar zxf apache-tomcat-7.0.23.tar.gz

mv apache-tomcat-7.0.23 tomcat-pri

tar zxf apache-tomcat-7.0.23.tar.gz

mv apache-tomcat-7.0.23 tomcat-bak

使用两个tomcat,一主一备。

修改server.xml,主要修改端口,集群配置,默认访问的web服务。

1、<Serverport="8005" shutdown="SHUTDOWN">

2、<Connectorport="8081" protocol="HTTP/1.1"

3、<Connectorport="8443" protocol="HTTP/1.1" SSLEnabled="true"

              maxThreads="150" scheme="https" secure="true"keystoreFile="d:/tomcat.keystore" keystorePass="123456"

              clientAuth="false" sslProtocol="TLS" />

4、<Connectorport="8009" protocol="AJP/1.3"redirectPort="8443" />

5、<ClusterclassName="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>        <!—打开集群配置-->

6、<ContextdocBase="test" distributable="true" path=""/>

7、<Enginename="Catalina" defaultHost="localhost"jvmRoute="tomcat1">   <!—配置此tomcat在集群中的名字-->

 

修改工程web.xml,--可选,复制session会需要用到

加入<distributable/>

 

二、openssl---安装apache,带ssl模块的时候需要指定openssl路径,一般操作系统自带的都有openssl。

tar zxf openssl-0.9.8x.tar.gz

cd openssl-0.9.8x

./config --prefix=/home/admin/app/openssl

make;make install

 

三、apache

tar zxf httpd-2.2.22.tar.gz

cd httpd-2.2.22

./configure --prefix=/home/admin/app/apache

--with-ssl=/home/admin/app/openssl    #指定openssl目录

--enable-so                                                    

--enable-ssl                                                    #使用ssl模块

make;make install

 

四、生成key

根证书

openssl genrsa -des3 -out ca.key 1024

openssl rsa -in ca.key -out ca.key

openssl req -new -x509 -key ca.key -out ca.crt

服务器证书

openssl genrsa -des3 -out server.key 1024

openssl rsa -in server.key -out server.key

openssl req -new -key server.key -out server.csr

openssl ca -in server.csr -out server.crt -cert ca.crt -keyfileca.key

 

最后一步会报错,因为使用的是系统默认的openssl配置文件/etc/pki/tls/openssl.cnf,需要根据该文件做一些操作

修改openssl.cnf中dir参数,指向/etc/pki/CA目录

在CA目录下

touchindex.txt                 #提示找不到index.txt文件

echo 11 >serial                #提示找不到serial

 

cp server.key apache/conf/

cp server.crt apache/conf/

 

打开httpd.conf,放开注释

Include conf/extra/httpd-ssl.conf

apache启动需要使用daemon用户,并需要在daemon用户组下

adduser daemon -g daemon

cd apche/bin

./apachectl start

测试,访问apache服务器,http,https

 

 

五、jk

tar zxf tomcat-connectors-1.2.37-src.tar.gz

进入到native目录

cd tomcat-connectors-1.2.37-src/native

需要指定apache的apxs路径

./configure --with-apxs=/home/admin/app/apache/bin/apxs

make

完成之后会在native下的apache-2.0目录下生成apache连接tomcat所需要的模块mod_jk.so

cp apache-2.0/mod_jk.so /home/admin/app/

 

六、集群配置

新建配置文件名任意

修改apache的httpd.conf,加入

Include conf/jk.conf

在apache/conf下创建文件jk.conf,内容如下:

LoadModule jk_module conf/mod_jk.so

JkWorkersFile conf/jk.properties

#指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器名

JkMount /* controller

 

在apache/conf下创建文件jk.properties,内容如下:

#server

worker.list = controller

#========tomcat1,名字需要与tomcat配置的jvmRoute 名字一致========

#tomcat1设置的ajp端口

worker.tomcat1.port=8009

worker.tomcat1.host=localhost

worker.tomcat1.type=ajp13

#负载比重

worker.tomcat1.lbfactor = 1

#========tomcat2========

worker.tomcat2.port=9009

worker.tomcat2.host=localhost

worker.tomcat2.type=ajp13

worker.tomcat2.lbfactor = 1

 

#========controller,负载均衡控制器========

worker.controller.type=lb

worker.controller.balanced_workers=tomcat1,tomcat2

#是否连续访问一台服务器,直至它停止服务才切换

worker.controller.sticky_session=false

worker.controller.sticky_session_force=1

 

七、启动tomcat,测试。设置了iptables的需要结合iptables修改apache的监听端口即可,或结合apache监听端口修改iptables设置

设置tomcat启动参数,在bin/catalina.sh 加入

#设置中文

export LANG="zh_CN.GB18030"

JAVA_OPTS="-Xms256m -Xmx2048m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=512m"

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值