zoukankan      html  css  js  c++  java
  • Tomcat 配置 https 协议

    一.  创建tomcat证书

    这里使用JDK自带的keytool工具来生成证书:

    1. 在jdk的安装目录inkeytool.exe下打开keytool.exe

    2. 在命令行中输入以下命令:

    keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "g:	omcat.keystore"  

    以上命令将生产一对非对称密钥和自我签名的证书g: omcat.keystore

    注意:“名字与姓氏”应该是域名,输成了姓名,和真正运行的时候域名不符,会出问题

    这里我输入的密码是123456,  域名是以tomcat为例,  省市以广东深圳为例

    二. 配置tomcat服务器

     定位到tomcat服务器的安装目录, 找到conf下的server.xml文件

    找到如下已经被注释的代码:

    1 <!--
    2     <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
    3                maxThreads="150" scheme="https" secure="true"
    4                clientAuth="false" sslProtocol="TLS" />
    5     -->

    去掉注释,修改为:

    1 <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"  
    2               maxThreads="150" scheme="https" secure="true"  
    3               clientAuth="false" sslProtocol="TLS"   
    4        keystoreFile="g:	omcat.keystore"  
    5        keystorePass="123456" />  

    在互联网上, http协议的默认端口是80, https的默认端口是443, 这里将端口改为了443

    三. 启动tomcat服务器

    在IE浏览器中输入: https://localhost

    选择继续浏览此网站

    搞定了!!!!

    遇到的问题:

    我在配置的过程中问题,当我修改了server.xml的配置后,启动tomcat报错

    复制代码
     1 org.apache.catalina.core.StandardService initInternal
     2 严重: Failed to initialize connector [Connector[HTTP/1.1-443]]
     3 org.apache.catalina.LifecycleException: Failed to initialize component [Connector[HTTP/1.1-443]]
     4 at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106)
     5 at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)
     6 at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
     7 at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:814)
     8 at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
     9 at org.apache.catalina.startup.Catalina.load(Catalina.java:633)
    10 at org.apache.catalina.startup.Catalina.load(Catalina.java:658)
    11 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    12 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    13 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    14 at java.lang.reflect.Method.invoke(Method.java:606)
    15 at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
    16 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)
    17 Caused by: org.apache.catalina.LifecycleException: Protocol handler initialization failed
    18 at org.apache.catalina.connector.Connector.initInternal(Connector.java:983)
    19 at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
    20 ... 12 more
    21 Caused by: java.lang.Exception: Connector attribute SSLCertificateFile must be defined when using SSL with APR
    22 at org.apache.tomcat.util.net.AprEndpoint.bind(AprEndpoint.java:507)
    23 at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:610)
    24 at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:429)
    25 at org.apache.catalina.connector.Connector.initInternal(Connector.java:981)
    26 ... 13 more
    复制代码

    网上找了下,可以将protocol="HTTP/1.1"替换为protocol="org.apache.coyote.http11.Http11Protocol",问题可以得以解决

    四. 安装tomcat的证书在浏览器中

    这里浏览器显示证书错误, 有红色警告

    在浏览器中右击选择属性, 查看不到证书

    在这里我为了能导出证书, 在tomcat的根目录下新建了一个hello.html的页面

    下面可以访问到

    将证书导出来

    注意:这个地方有部分电脑的"复制文件"的按钮是不能点的, 导不出来

    可以尝试装个虚拟机试一下

    下面就下一步就行

    我将证书导出到了桌面上,

    得到了一个cer的证书文件

    下面打开浏览器的Internet选项  ----> 内容  ----> 证书

    选择"受信任的根证书颁发机构"  ----> 导入证书

    将生成的证书导入进来

    其余的步骤直接下一步即可

    重启浏览器,发现------没有红色警告了!!!

    搞定!!

    最后一点建议:不用jdk生成的证书,建议用腾讯云或阿里云的免费证书会更稳定些!

  • 相关阅读:
    /etc/sysctl.conf 控制内核相关配置文件
    python 并发编程 非阻塞IO模型
    python 并发编程 多路复用IO模型
    python 并发编程 异步IO模型
    python 并发编程 阻塞IO模型
    python 并发编程 基于gevent模块 协程池 实现并发的套接字通信
    python 并发编程 基于gevent模块实现并发的套接字通信
    python 并发编程 io模型 目录
    python 并发编程 socket 服务端 客户端 阻塞io行为
    python 并发编程 IO模型介绍
  • 原文地址:https://www.cnblogs.com/lpq21314/p/13588019.html
Copyright © 2011-2022 走看看