zoukankan      html  css  js  c++  java
  • tomcat之https配置(生成证书)

    tomcat之https配置(生成证书)

    升级https需要购买SSL证书之类的,但是在公司开发环境下没有自己的域名,所以只能在本地使用java的Keytool命令生成一个。

    生成ssl证书

    1. 管理员打开cmd窗口,输入

    keytool -genkey -alias tomcat -keyalg RSA -keystore Z:WorkSpacePluginsTomcatssl	omcat.keystore -validity 36500
    keytool 是jdk中的工具,位置在D:	oolsjdkin中。若未配置环境变量,可在bin文件夹中启动cmd,运行该代码。

    “Z:WorkSpacePluginsTomcatssl omcat.keystore” 含义是证书文件保存位置,证书文件名称是tomcat.keystore ;

    “-validity 36500” 含义是证书有效期,36500表示100年,默认值是90天。

    2. 输入密钥库口令

    输入密钥库密码:此处需要输入大于6个字符的字符串,例如abc123

    3. 输入两次通过后,弹出以下问题:

    "您的名字与姓氏是什么?" 这是必填项,并且必须是TOMCAT部署主机的域名或者IP [如:baidu.com 或者 127.0.0.1],就是你将来要在浏览器中输入的访问地址;

    其他得问题可填可不填,最后对照信息正确则输入y,不正确打算重来则输入n。

    4. 输入密钥口令

    密钥库口令,这里我理解的是tomcat的主密码,会在tomcat配置文件中使用,建议输入与keystore的密码一致,设置其它密码也可以生成完成,可在指定目录下找到证书文件。

    配置tomcat

    1. 修改server.xml

    a. 打开tomcat目录下conf/server.xml文件,修改如下

    <Connector port="443"
        protocol="org.apache.coyote.http11.Http11NioProtocol"
        SSLEnabled="true"
        maxThreads="800"
        scheme="https"
        secure="true"
        clientAuth="false"
        sslProtocol="TLS"
        keystoreFile="D:/tools/tomcat-8.0/ssl/tomcat.keystore"
        keystorePass="123456"/>

    在这里我是新增加了443的Connector,也可以取消8443的Connector,增加“keystoreFile”和“keystorePass”。

    其中keystoreFile是证书存放的路径,keystorePass为生成证书时输入的密码。

    b. 修改需要重定向的端口,我这里用的是8080。

    <Connector port="80" protocol="HTTP/1.1"
                   connectionTimeout="200000"
                   redirectPort="443"
                   URIEncoding="utf-8"
                    compression="on"              
                    compressionMinSize="1024"
                    maxPostSize="-1"
                    disableUploadTimeout="false"
                   />

    例子:

    2. 修改web.xml

    a. 打开conf/web.xml

    在最后增加以下代码:

    <login-config>
            <!-- Authorization setting for SSL -->
            <auth-method>CLIENT-CERT</auth-method>
            <realm-name>Client Cert Users-only Area</realm-name>
        </login-config>
        <security-constraint>
            <!-- Authorization setting for SSL -->
            <web-resource-collection>
                <web-resource-name>SSL</web-resource-name>
                <url-pattern>/*</url-pattern>
            </web-resource-collection>
            <user-data-constraint>
                <transport-guarantee>CONFIDENTIAL</transport-guarantee>
            </user-data-constraint>
        </security-constraint>

    至此tomcat配置完成,启动tomcat即可使用ssl,在浏览器输入localhost:8080

    Tomcat配置完成后,使用Https访问,Chrome会提示安全警告,点击“高级”,继续访问即可,之后再https下使用ip地址访问是没有问题的。

    注意:若端口443被占用页面会出现403报错,可改为8443测试

    注意:tomcat无法配置代理,可在前端写死路径访问后端,但建议需要代理使用nginx

    参考自:https://blog.csdn.net/qq_31832209/article/details/111309586     @强

    钻研不易,转载请注明出处。。。。。。

  • 相关阅读:
    微信小程序设置底部导航栏目方法
    微信小程序四(设置底部导航)
    微信小程序三(设置页面标题)
    error while loading shared libraries: libpcre.so.0的解决办法(转)
    mysql无法启动问题的解决方案:mysql.sock重启不自动生成,mysqld_safe启动报错
    使用snmp+mrtg监控CPU、流量、磁盘空间、内存
    lvs之dr技术的学习与实践
    lvs之nat技术的学习与实践
    lvs之ip-tun(ip隧道)技术的学习与实践
    CentOS 6.4下Squid代理服务器的安装与配置【转】
  • 原文地址:https://www.cnblogs.com/s313139232/p/14251088.html
Copyright © 2011-2022 走看看