Tomcat Https

1、keystore的密码与tomcat的主密码不一致;在接下来的步骤中,请把这两个密码输入成相同的;
2、用来生成keystore的java版本与运行tomcat的java版本不一致;运行下面的命令之前,先检查一下。
@:~/tomcat2/bin>which java
/home/jdk150/bin/java
在启动tomcat时,看看所用的JAVA_HOME是不是上面的/home/jdk150,如果不是,请修改用户的profile文件,或者修改tomcat的启动文件。
 最简单的做法是在/etc/profile文件中加入下面几行,然后重新登录,再进行后续操作:
JAVA_HOME=/home/jdk150
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH

一、生成 KeyStore

这一步比较简单,利用 JDK 自带的 keytool 即可完成。命令如下:

@:~/tomcat2/bin> keytool -genkey -alias tomcat -keyalg RSA
输入keystore密码:  ************
您的名字与姓氏是什么?
  [Unknown]:  W
您的组织单位名称是什么?
  [Unknown]:  ZZNode
您的组织名称是什么?
  [Unknown]:  ZZNode
您所在的城市或区域名称是什么?
  [Unknown]:  Be
您所在的州或省份名称是什么?
  [Unknown]:  Be
该单位的两字母国家代码是什么
  [Unknown]:  CN
CN=Wang, OU=ZZNode, O=ZZNode, L=B, ST=B, C=CN 正确吗?
  [否]:  是

输入<tomcat>的主密码
        (如果和 keystore 密码相同,按回车):

特别说明:上边输入的“<tomcat>的主密码”,与keystore密码一定要相同,否则TOMCAT起不来。至少我试了几次都不行。报错如下:
org.apache.coyote.http11.Http11BaseProtocol init
严重: Error initializing endpoint
java.io.IOException: Cannot recover key
        at org.apache.tomcat.util.net.jsse.JSSE14SocketFactory.init(JSSE14Socket Factory.java:125)
 
二、修改 server.xml

在 TOMCAT/conf/server.xml 中,修改与 SSL 相关的那一段,我改成下面这样:
    <!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
    <Connector port="8443" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" disableUploadTimeout="true"
               acceptCount="100" scheme="https" secure="true" keystorePass="******"
                clientAuth="false" sslProtocol="TLS" />

这里要指定keystorePass,如果写错了,会出现下边的错误:
严重: Error initializing endpoint
java.io.IOException: Keystore was tampered with, or password was incorrect
        at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:768)

三、启动 Tomcat


@:~/tomcat2/bin> ./startup.sh
Using CATALINA_BASE:   /home/wakan/tomcat2
Using CATALINA_HOME:   /home/wakan/tomcat2
Using CATALINA_TMPDIR: /home/wakan/tomcat2/temp
Using JRE_HOME:       /home/jdk150/jre

这一步比较简单,就不多说了。启动完成后,在浏览器中输入:https://localhost:8443,即可看到TOMCAT的主页面。

posted @ 2011-09-29 22:12  greencolor  阅读(259)  评论(0编辑  收藏  举报