• use https in tomcat


    重要提示:两种容易出错的情况
    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]: 

     

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

    特别说明:上边输入的“<tomcat>的主密码”,与keystore密码一定要相同,否则TOMCAT起不来。至少我试了几次都不行。报错如下:
    2007-3-26 17:07:01 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

    这一步比较简单,就不多说了。启动完成后,在浏览器中输入:https://localhost:8443,即可看到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

  • 相关阅读:
    对象的引用
    查询各个商品分类中各有多少商品的SQL语句
    将TP引擎改为smarty引擎
    图片预加载
    js中接口的声明与实现
    判断对象是否是某个类的实例
    判断变量是否为json对象
    Python 爬取淘宝商品数据挖掘分析实战
    Python 爬取淘宝商品数据挖掘分析实战
    扫盲丨关于区块链你需要了解的所有概念
  • 原文地址:https://www.cnblogs.com/greencolor/p/1885875.html
Copyright © 2020-2023  润新知