完美配置Tomcat的HTTPS

yvfish
阅读更多

Tomcat配置HTTPS的文章到处都有,过程也比较简单,随后文中会转一段过来。

但对于启用APR情况下报异常“java.lang.Exception: Connector attribute SSLCertificateFile must be defined when  using SSL with APR”的解决方法上处理的都比较偷懒,通常都是把APR注释掉不启用APR。

做为一个文艺青年兼软件开发工程师(偶吐),我有责任深入学习仔细研究完美解决这个问题(偶再吐)。

 

资料转载【TOMCAT配置HTTPS】

################################################################

 

 

二、创建证书

啰嗦几句:证书是单点登录认证系统中很重要的一把钥匙,客户端于服务器的交互安全靠的就是证书;本教程由于是演示所以就自己用JDK自带的keytool工具生成证书;如果以后真正在产品环境中使用肯定要去证书提供商去购买,证书认证一般都是由VeriSign认证,中文官方网站:http://www.verisign.com/cn/

用JDK自带的keytool工具生成证书:

keytool -genkey -alias wsria -keyalg RSA -keystore d:/keys/wsriakey

 

无图不给力,有图有真相:

用keytool生成证书

具体的输入项图片中都有说明,有一点我要解释一下;在输入完密码后提示输入域名是我输入的是sso.wsria.com,其实这个域名是不存在的,但是我为了演示所以虚拟了这个域名,技巧在于修改

C:\Windows\System32\drivers\etc\hosts

添加内容如下:

127.0.0.1  sso.wsria.com

这样在访问sso.wsria.com的时候其实是访问的127.0.0.1也就是本机

严重提醒:提示输入域名的时候不能输入IP地址

三、导出证书

D:\keys>keytool -export -file d:/keys/wsria.crt -alias wsria -keystore d:/keys/wsriakey

特别提示:如果提示:

keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect

那么请输入密码:changeit

来点颜色:

用keytool导出证书

至此导出证书完成,可以分发给应用的JDK使用了,接下来讲解客户端的JVM怎么导入证书。

四、为客户端的JVM导入证书

keytool -import -keystore D:\tools\jdk\1.6\jdk1.6.0_20\jre\lib\security\cacerts -file D:/keys/wsria.crt -alias wsria

来点颜色瞧瞧:

用keytool导出证书

特别说明

D:\tools\jdk\1.6\jdk1.6.0_20\jre\lib\security -- 是jre的目录;密码还是刚刚输入的密码。至此证书的创建、导出、导入到客户端JVM都已完成,下面开始使用证书到Web服务器中,本教程使用tomcat。

五、应用证书到Web服务器-Tomcat

说是应用起始做的事情就是启用Web服务器(Tomcat)的SSL,也就是HTTPS加密协议,为什么加密我就不用啰嗦了吧…… 准备好一个干净的tomcat,本教程使用的apache-tomcat-6.0.29 打开tomcat目录的conf/server.xml文件,开启83和87行的注释代码,并设置keystoreFile、keystorePass修改结果如下:

?
1
2
< connector port = "8443" protocol = "HTTP/1.1" sslenabled = "true" maxthreads = "150"
scheme = "https" secure = "true" clientauth = "false" sslprotocol = "TLS"
keystorefile = "D:/keys/wsriakey" keystorepass = "wsria.com" >
</ connector >

参数说明:

  • keystoreFile:在第一步创建的key存放位置
  • keystorePass:创建证书时的密码

好了,到此Tomcat的SSL启用完成,现在你可以启动tomcat试一下了,例如本教程输入地址:https://sso.wsria.com:8443/ 打开的是:

浏览器提示证书错误

好的,那么我们点击“继续浏览此网站(不推荐)。现在进入Tomcat目录了吧,如果是那么你又向成功迈进了一步。

 

 

################################################################

来自http://www.kafeitu.me/2010/11/05/sso-cas-full-course.html

 

文章写的很好,也很细致。

 

嗯。好了,问题来了。

 

当我启动Tomcat时发现控制台报错如下:

 

 

Java代码   收藏代码
  1. 2012-5-16 13:10:37 org.apache.catalina.core.AprLifecycleListener init  
  2. 信息: Loaded APR based Apache Tomcat Native library 1.1.23.  
  3. 2012-5-16 13:10:37 org.apache.catalina.core.AprLifecycleListener init  
  4. 信息: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].  
  5. 2012-5-16 13:10:37 org.apache.coyote.AbstractProtocol init  
  6. 信息: Initializing ProtocolHandler ["http-apr-8080"]  
  7. 2012-5-16 13:10:37 org.apache.coyote.AbstractProtocol init  
  8. 信息: Initializing ProtocolHandler ["http-apr-8443"]  
  9. 2012-5-16 13:10:37 org.apache.coyote.AbstractProtocol init  
  10. 严重: Failed to initialize end point associated with ProtocolHandler ["http-apr-8443"]  
  11. java.lang.Exception: <span style="background-color: #ffff00;">Connector attribute SSLCertificateFile must be defined when using SSL with APR</span>  
  12.         at org.apache.tomcat.util.net.AprEndpoint.bind(AprEndpoint.java:484)  
  13.         at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:566)  
  14.         at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:417)  
  15.         at org.apache.catalina.connector.Connector.initInternal(Connector.java:956)  
  16.         at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)  
  17.         at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)  
2012-5-16 13:10:37 org.apache.catalina.core.AprLifecycleListener init
信息: Loaded APR based Apache Tomcat Native library 1.1.23.
2012-5-16 13:10:37 org.apache.catalina.core.AprLifecycleListener init
信息: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
2012-5-16 13:10:37 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["http-apr-8080"]
2012-5-16 13:10:37 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["http-apr-8443"]
2012-5-16 13:10:37 org.apache.coyote.AbstractProtocol init
严重: Failed to initialize end point associated with ProtocolHandler ["http-apr-8443"]
java.lang.Exception: Connector attribute SSLCertificateFile must be defined when using SSL with APR
        at org.apache.tomcat.util.net.AprEndpoint.bind(AprEndpoint.java:484)
        at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:566)
        at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:417)
        at org.apache.catalina.connector.Connector.initInternal(Connector.java:956)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
        at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)

 

 

 

直接Google,很多答案都是不启用APR,修改conf/server.xml注释掉下面一段

 

 

Xml代码   收藏代码
  1. <!--APR library loader. Documentation at /docs/apr.html -->  
  2. <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />  
  <!--APR library loader. Documentation at /docs/apr.html -->
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />

 例如:http://tdp100.iteye.com/code?tag=tomcat+https

 

但这样做将失去APR库的价值,Tomcat性能必然下降(APR库作用见此处http://wenson.iteye.com/blog/382738

 

让我们打开Tomcat的文档webapps/docs/apr.html,其中讲到

 

 

      <Connector port="443" maxHttpHeaderSize="8192"
                 maxThreads="150"
                 enableLookups="false" disableUploadTimeout="true"
                 acceptCount="100" scheme="https" secure="true"
                 SSLEnabled="true"
                 SSLCertificateFile="${catalina.base}/conf/localhost.crt"
                 SSLCertificateKeyFile="${catalina.base}/conf/localhost.key" />

 

 

SSLCertificateFile属性好理解,是指证书文件,就是用keytool导出的那个。

而SSLCertificateKeyFile应该是指私钥,这个东西从哪里来呢,继续找资料。

 

在这里:http://stackoverflow.com/questions/150167/how-do-i-list-export-private-keys-from-a-keystore

 

关键是这一段:

 

keytool -importkeystore -srckeystore keystore.jks \
    -destkeystore intermediate.p12 -deststoretype PKCS12

Next, use OpenSSL to do the extraction to PEM:

openssl pkcs12 -in intermediate.p12 -out extracted.pem -nodes

 

先把keystore转换为pkcs12格式,然后使用openssl工具导出私钥即可。

openssl 工具可以从这里下载:http://gnuwin32.sourceforge.net/packages/openssl.htm

 

ohYeah! 搞定了。

 

 

 

不难!月薪 50K大牛,悉心整理程序员必备技能!
同为程序员,30万年薪和50万年薪差距在这!
<div id="share_weibo">分享到:
  <a data-type="sina" href="javascript:;" title="分享到新浪微博"><img src="/images/sina.jpg"></a>
  <a data-type="qq" href="javascript:;" title="分享到腾讯微博"><img src="/images/tec.jpg"></a>
</div>
  • 2012-05-28 16:07
  • 浏览 136916
  • 评论(9)
  •   <li>分类:<a href="https://www.iteye.com/blogs/category/web">Web前端</a></li>      
      <li class="last"><a href="https://www.iteye.com/wiki/blog/1532655" target="_blank" class="more">查看更多</a></li>
    </ul>    
    
评论
9 楼 jiyilee 2016-12-09  
   
8 楼 疯狂的小曾 2016-11-02  
         
7 楼 junfeng_feng 2016-05-26  
这个教程,走下来,配置的不对。建议参考   http://jingyan.baidu.com/article/a948d6515d3e850a2dcd2ee6.html
6 楼 youngdata 2016-01-26  
配置用浏览器提示如下:连接 localhost:8443 时发生错误。 无法安全地与对等端通信:没有双方共用的加密算法。 (错误码: ssl_error_no_cypher_overlap
5 楼 yvfish 2014-03-19  
wstghaha 写道
还有一种更好的方法,修改上面server.xml中protocol的配置为protocol="org.apache.coyote.http11.Http11Protocol"

不解释……
4 楼 wstghaha 2014-02-17  
还有一种更好的方法,修改上面server.xml中protocol的配置为protocol="org.apache.coyote.http11.Http11Protocol"
3 楼 焦志广 2013-09-12  
<Connector port="443" maxHttpHeaderSize="8192"
                 maxThreads="150"
                 enableLookups="false" disableUploadTimeout="true"
                 acceptCount="100" scheme="https" secure="true"
                 SSLEnabled="true"
                 SSLCertificateFile="${catalina.base}/conf/localhost.crt"
                 SSLCertificateKeyFile="${catalina.base}/conf/localhost.key" />

这段是需要加到server.xml中么?
2 楼 itmanzhang 2013-04-15  
LZ下的是哪个呢 里面好几个东东
1 楼 endual 2013-02-19  
GREAT
相关资源推荐
  • 					<li class="news-recommends-ajax">
              
              <a href="https://blog.csdn.net/down177/article/details/42971053" data-track-click="{&quot;mod&quot;:&quot;popu_712&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/down177/article/details/42971053,-&quot;}" target="_blank" title="完美配置Tomcat的Https"><em class="related_suggestion_highlight">完美</em><em class="related_suggestion_highlight">配置</em><em class="related_suggestion_highlight">Tomcat</em>的<em class="related_suggestion_highlight">Https</em></a>
              <p>
                <em class="related_suggestion_highlight">Tomcat</em><em class="related_suggestion_highlight">配置</em><em class="related_suggestion_highlight">HTTPS</em>的文章到处都有,过程也比较简单,随后文中会转一段过来。
    

但对于启用APR情况下报异常“java.lang.Exception: Connector attribute SSLCertificateFile must be defined when  using SSL with APR”的解决方法上处理的都比较偷懒,通常都是把APR注释掉不启用APR。
做为一个文艺青


					<li class="news-recommends-ajax">
          
          <a href="https://blog.csdn.net/liuzongxi/article/details/44542651" data-track-click="{&quot;mod&quot;:&quot;popu_712&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/liuzongxi/article/details/44542651,-&quot;}" target="_blank" title="完美配置Tomcat的HTTPS"><em class="related_suggestion_highlight">完美</em><em class="related_suggestion_highlight">配置</em><em class="related_suggestion_highlight">Tomcat</em>的<em class="related_suggestion_highlight">HTTPS</em></a>
          <p>
            <em class="related_suggestion_highlight">完美</em><em class="related_suggestion_highlight">配置</em><em class="related_suggestion_highlight">Tomcat</em>的<em class="related_suggestion_highlight">HTTPS</em>

====================

转载:http://blog.csdn.net/huaishuming/article/details/8965597

Tomcat配置HTTPS的文章到处都有,过程也比较简单,随后文中会转一段过来。

但对于启用APR情况下报异常“java.lang.Exception: Connect


					<li class="news-recommends-ajax">
          
          <a href="https://blog.csdn.net/StrawDevil/article/details/78523146" data-track-click="{&quot;mod&quot;:&quot;popu_712&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/StrawDevil/article/details/78523146,-&quot;}" target="_blank" title="apache-tomcat-9.0.1 配置多个虚拟主机并且配置多个域名的多个ssl支持https">apache-<em class="related_suggestion_highlight">tomcat</em>-9.0.1 <em class="related_suggestion_highlight">配置</em>多个虚拟主机并且<em class="related_suggestion_highlight">配置</em>多个域名的多个ssl支持<em class="related_suggestion_highlight">https</em></a>
          <p>
            <em class="related_suggestion_highlight">tomcat</em>9<em class="related_suggestion_highlight">配置</em>多个ssl支持多域名<em class="related_suggestion_highlight">https</em>访问
          </p>
					</li>
			
					<li class="news-recommends-ajax">
          
          <a href="https://download.csdn.net/download/lennon0829/5655347" data-track-click="{&quot;mod&quot;:&quot;popu_712&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/lennon0829/5655347,-&quot;}" target="_blank" title="tomcat下配置https环境"><em class="related_suggestion_highlight">tomcat</em>下<em class="related_suggestion_highlight">配置</em><em class="related_suggestion_highlight">https</em>环境</a>
          <p>
            <em class="related_suggestion_highlight">tomcat</em>下<em class="related_suggestion_highlight">配置</em><em class="related_suggestion_highlight">https</em>环境 <em class="related_suggestion_highlight">tomcat</em>下<em class="related_suggestion_highlight">配置</em><em class="related_suggestion_highlight">https</em>环境 <em class="related_suggestion_highlight">tomcat</em>下<em class="related_suggestion_highlight">配置</em><em class="related_suggestion_highlight">https</em>环境,亲测,可用。<em class="related_suggestion_highlight">https</em>://127.0.0.1:8443/
          </p>
					</li>
			
					<li class="news-recommends-ajax">
          
          <a href="https://download.csdn.net/download/heguoxing/3426069" data-track-click="{&quot;mod&quot;:&quot;popu_712&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/heguoxing/3426069,-&quot;}" data-track-view="{&quot;mod&quot;:&quot;popu_712&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/heguoxing/3426069,-&quot;}" target="_blank" title="tomcat下的https的配置"><em class="related_suggestion_highlight">tomcat</em>下的<em class="related_suggestion_highlight">https</em>的<em class="related_suggestion_highlight">配置</em></a>
          <p>
            <em class="related_suggestion_highlight">tomcat</em>下的<em class="related_suggestion_highlight">https</em>的<em class="related_suggestion_highlight">配置</em>

https配置


					<li class="news-recommends-ajax">
          
          <a href="https://download.csdn.net/download/liguang168/3234578" data-track-click="{&quot;mod&quot;:&quot;popu_712&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/liguang168/3234578,-&quot;}" data-track-view="{&quot;mod&quot;:&quot;popu_712&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/liguang168/3234578,-&quot;}" target="_blank" title="Tomcat中实现https安全连接与SSL配置"><em class="related_suggestion_highlight">Tomcat</em>中实现<em class="related_suggestion_highlight">https</em>安全连接与SSL<em class="related_suggestion_highlight">配置</em></a>
          <p>
            <em class="related_suggestion_highlight">https</em> ssl <em class="related_suggestion_highlight">Tomcat</em>中实现<em class="related_suggestion_highlight">https</em>安全连接与SSL<em class="related_suggestion_highlight">配置</em><em class="related_suggestion_highlight">https</em> ssl <em class="related_suggestion_highlight">Tomcat</em>中实现<em class="related_suggestion_highlight">https</em>安全连接与SSL<em class="related_suggestion_highlight">配置</em><em class="related_suggestion_highlight">https</em> ssl <em class="related_suggestion_highlight">Tomcat</em>中实现<em class="related_suggestion_highlight">https</em>安全连接与SSL<em class="related_suggestion_highlight">配置</em><em class="related_suggestion_highlight">https</em> ssl <em class="related_suggestion_highlight">Tomcat</em>中实现<em class="related_suggestion_highlight">https</em>安全连接与SSL<em class="related_suggestion_highlight">配置</em>
          </p>
					</li>
			
					<li class="news-recommends-ajax">
          
          <a href="https://download.csdn.net/download/kzcming/10301348" data-track-click="{&quot;mod&quot;:&quot;popu_712&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/kzcming/10301348,-&quot;}" data-track-view="{&quot;mod&quot;:&quot;popu_712&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/kzcming/10301348,-&quot;}" target="_blank" title="tomcat 配置https"><em class="related_suggestion_highlight">tomcat</em> <em class="related_suggestion_highlight">配置</em><em class="related_suggestion_highlight">https</em></a>
          <p>
            <em class="related_suggestion_highlight">tomcat</em> <em class="related_suggestion_highlight">配置</em><em class="related_suggestion_highlight">https</em> 详情,

tomcat 配置http 强制跳转到https


					<li class="news-recommends-ajax">
          
          <a href="https://download.csdn.net/download/u010152179/7819403" data-track-click="{&quot;mod&quot;:&quot;popu_712&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/u010152179/7819403,-&quot;}" data-track-view="{&quot;mod&quot;:&quot;popu_712&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/u010152179/7819403,-&quot;}" target="_blank" title="Tomcat https访问设置"><em class="related_suggestion_highlight">Tomcat</em> <em class="related_suggestion_highlight">https</em>访问设置</a>
          <p>
            <em class="related_suggestion_highlight">tomcat</em> <em class="related_suggestion_highlight">https</em>  ssl <em class="related_suggestion_highlight">配置</em>
          </p>
					</li>
			
					<li class="news-recommends-ajax">
          
          <a href="https://download.csdn.net/download/liyang32075/4388162" data-track-click="{&quot;mod&quot;:&quot;popu_712&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/liyang32075/4388162,-&quot;}" data-track-view="{&quot;mod&quot;:&quot;popu_712&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/liyang32075/4388162,-&quot;}" target="_blank" title="TOMCAT 6 中配置HTTPS"><em class="related_suggestion_highlight">TOMCAT</em> 6 中<em class="related_suggestion_highlight">配置</em><em class="related_suggestion_highlight">HTTPS</em></a>
          <p>
            <em class="related_suggestion_highlight">TOMCAT</em> 6 中<em class="related_suggestion_highlight">配置</em><em class="related_suggestion_highlight">HTTPS</em>
          </p>
					</li>
			
					<li class="news-recommends-ajax">
          
          <a href="https://blog.csdn.net/weixin_41171651/article/details/83653261" data-track-click="{&quot;mod&quot;:&quot;popu_712&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/weixin_41171651/article/details/83653261,-&quot;}" data-track-view="{&quot;mod&quot;:&quot;popu_712&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/weixin_41171651/article/details/83653261,-&quot;}" target="_blank" title="Web前端项目Tomcat配置域名映射到服务器"><em class="related_suggestion_highlight">Web前端</em>项目<em class="related_suggestion_highlight">Tomcat</em><em class="related_suggestion_highlight">配置</em>域名映射到服务器</a>
          <p>
            我使用的是阿里云服务器,在进行该步骤前保证自己的域名已经解析完成。

正常代表解析已经完成。
云服务器Tomcat配置步骤:
1.在Tomcat目录下找到conf文件夹,里面有个叫server.xml的文件

2.找到以下语句并修改

defaultHost写上自己的域名

name也是写上自己的域名
docBase就写你的项目目录的绝对路径,访问时会自动打开项目目录下index.html这个文件…


					<li class="news-recommends-ajax">
          
          <a href="https://blog.csdn.net/lianjunzongsiling/article/details/78635437" data-track-click="{&quot;mod&quot;:&quot;popu_712&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/lianjunzongsiling/article/details/78635437,-&quot;}" data-track-view="{&quot;mod&quot;:&quot;popu_712&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/lianjunzongsiling/article/details/78635437,-&quot;}" target="_blank" title="tomcat开发环境配置启用https"><em class="related_suggestion_highlight">tomcat</em>开发环境<em class="related_suggestion_highlight">配置</em>启用<em class="related_suggestion_highlight">https</em></a>
          <p>
            一、制作证书众所周知,<em class="related_suggestion_highlight">https</em>协议需要证书,为了开发去CA买证书是浪费,使用jdk自带的keytool工具做一个开发测试用足够。 

https?/docs.oracle.com/javase/8/docs/technotes/tools/windows/keytool.html#CHDBGFHE
上面是jdk8的keytool的官方文档连接。可用命令不算少,常用的也就几个。1、新生成一个密钥库


					<li class="news-recommends-ajax">
          
          <a href="https://blog.csdn.net/jb_peng/article/details/72328733" data-track-click="{&quot;mod&quot;:&quot;popu_712&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/jb_peng/article/details/72328733,-&quot;}" data-track-view="{&quot;mod&quot;:&quot;popu_712&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/jb_peng/article/details/72328733,-&quot;}" target="_blank" title="Tomcat如何配置Https访问方式"><em class="related_suggestion_highlight">Tomcat</em>如何<em class="related_suggestion_highlight">配置</em><em class="related_suggestion_highlight">Https</em>访问方式</a>
          <p>
            前提条件:已经下载并安装<em class="related_suggestion_highlight">配置</em>好<em class="related_suggestion_highlight">Tomcat</em>,访问http://localhost:8080的时候会出现<em class="related_suggestion_highlight">tomcat</em>的界面。第一步:<em class="related_suggestion_highlight">配置</em>hosts文件添加一行127.0.0.1   codecrazy.cn。这一步不是必要的,只是为了访问的时候效果更好(逼格更高)一点。此时就可以通过http://codecrazy.cn:8080进行访问了。第二步:生成证书这里采用JDK自带的keytool工具来生成
          </p>
					</li>
			
					<li class="news-recommends-ajax">
          
          <a href="https://blog.csdn.net/baidu_19473529/article/details/70037976" data-track-click="{&quot;mod&quot;:&quot;popu_712&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/baidu_19473529/article/details/70037976,-&quot;}" data-track-view="{&quot;mod&quot;:&quot;popu_712&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/baidu_19473529/article/details/70037976,-&quot;}" target="_blank" title="阿里云https证书tomcat配置">阿里云<em class="related_suggestion_highlight">https</em>证书<em class="related_suggestion_highlight">tomcat</em><em class="related_suggestion_highlight">配置</em></a>
          <p>
            阅读本文前,请先参看前文http://blog.csdn.net/baidu_19473529/article/details/70037696

当我们使用Java生成的证书使用https访问时会出现未认证的问题,证书风险

现在我们就申请一个阿里云云盾的免费证书
一、登录阿里云–>安全(云盾)–>证书服务->购买证书

配置单中选择 “免费型DV SSL”  


					<li class="news-recommends-ajax">
          
          <a href="https://blog.csdn.net/u012811841/article/details/80389792" data-track-click="{&quot;mod&quot;:&quot;popu_712&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/u012811841/article/details/80389792,-&quot;}" target="_blank" title="单个Tomcat8实现域名+SSL完成https访问多个项目配置教程">单个<em class="related_suggestion_highlight">Tomcat</em>8实现域名+SSL完成<em class="related_suggestion_highlight">https</em>访问多个项目<em class="related_suggestion_highlight">配置</em>教程</a>
          <p>
            1. <em class="related_suggestion_highlight">配置</em>server.xml分析:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; 1.1 域名访问默认端口号是80,所以先修改端口号,然后是redirectPort为443&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.2 多个项目需要<em class="related_suggestion_highlight">配置</em>多个host,其中需要注意每个host下默认项目访问路径&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.3 <em class="related_suggestion_highlight">配置</em>阿里云免费SSL证书注意添加修改标红的地方&amp;amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?...
          </p>
					</li>
			
					<li class="news-recommends-ajax">
          
          <a href="https://blog.csdn.net/u011645059/article/details/53505462" data-track-click="{&quot;mod&quot;:&quot;popu_712&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/u011645059/article/details/53505462,-&quot;}" target="_blank" title="tomcat配置https及访问"><em class="related_suggestion_highlight">tomcat</em><em class="related_suggestion_highlight">配置</em><em class="related_suggestion_highlight">https</em>及访问</a>
          <p>
            <em class="related_suggestion_highlight">tomcat</em> <em class="related_suggestion_highlight">配置</em><em class="related_suggestion_highlight">https</em> 及java访问该<em class="related_suggestion_highlight">https</em>
          </p>
					</li>
			
					<li class="news-recommends-ajax">
          
          <a href="https://blog.csdn.net/a4019069/article/details/79540009" data-track-click="{&quot;mod&quot;:&quot;popu_712&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/a4019069/article/details/79540009,-&quot;}" target="_blank" title="【Tomcat】Https协议的配置,使Tomcat可以接受Https的请求">【<em class="related_suggestion_highlight">Tomcat</em>】<em class="related_suggestion_highlight">Https</em>协议的<em class="related_suggestion_highlight">配置</em>,使<em class="related_suggestion_highlight">Tomcat</em>可以接受<em class="related_suggestion_highlight">Https</em>的请求</a>
          <p>
            写这个博客的原因是因为上个月(2018-02-08),谷歌浏览器官方部落格发布了一个未来更新的消息,原文参考: 

https?/blog.chromium.org/2018/02/a-secure-web-is-here-to-stay.html (蕃蔷)

从2018年7月发布的谷歌浏览器Ver68开始,所有Http站点都将被标记为不安全网站。

因此对于Tomcat的默认配置,是不能访…


					<li class="news-recommends-ajax">
          
          <a href="https://blog.csdn.net/qqlibo205/article/details/78981921" data-track-click="{&quot;mod&quot;:&quot;popu_712&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/qqlibo205/article/details/78981921,-&quot;}" target="_blank" title="Tomcat配置外网https访问"><em class="related_suggestion_highlight">Tomcat</em><em class="related_suggestion_highlight">配置</em>外网<em class="related_suggestion_highlight">https</em>访问</a>
          <p>
            <em class="related_suggestion_highlight">https</em>介绍:

   HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。h


					<li class="news-recommends-ajax">
          
          <a href="https://blog.csdn.net/denglinqingqinyuzhao/article/details/79727420" data-track-click="{&quot;mod&quot;:&quot;popu_712&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/denglinqingqinyuzhao/article/details/79727420,-&quot;}" target="_blank" title="tomcat配置域名+https证书+manager账号配置"><em class="related_suggestion_highlight">tomcat</em><em class="related_suggestion_highlight">配置</em>域名+<em class="related_suggestion_highlight">https</em>证书+manager账号<em class="related_suggestion_highlight">配置</em></a>
          <p>
            一、在根目录创建cert目录,把证书上传到cert目录下。二、<em class="related_suggestion_highlight">配置</em>端口跟证书(打开 conf/server.xml文件)(1)、把8080端口改成80,(2)把8443端口改成443,(3)输入证书里面的密码(4)填写pfx证书路径&nbsp;如图&nbsp;&nbsp;三、<em class="related_suggestion_highlight">配置</em>域名(1)&nbsp;、<em class="related_suggestion_highlight">配置</em>你的域名(每一个Host<em class="related_suggestion_highlight">配置</em>一个子域名)(2)&nbsp;、<em class="related_suggestion_highlight">配置</em>你的项目路径如图&nbsp;&nbsp;完成并且能(1)http://api.test.com(2...
          </p>
					</li>
			
					<li class="news-recommends-ajax">
          
          <a href="https://blog.csdn.net/Gane_Cheng/article/details/53001846" data-track-click="{&quot;mod&quot;:&quot;popu_712&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/Gane_Cheng/article/details/53001846,-&quot;}" target="_blank" title="Tomcat启用HTTPS协议配置过程"><em class="related_suggestion_highlight">Tomcat</em>启用<em class="related_suggestion_highlight">HTTPS</em>协议<em class="related_suggestion_highlight">配置</em>过程</a>
          <p>
            本文将讲解<em class="related_suggestion_highlight">HTTPS</em>协议在<em class="related_suggestion_highlight">Tomcat</em>中启用是如何<em class="related_suggestion_highlight">配置</em>的。
          </p>
					</li>
			
					<li class="news-recommends-ajax">
          
          <a href="https://blog.csdn.net/wangpeng322/article/details/80843597" data-track-click="{&quot;mod&quot;:&quot;popu_712&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/wangpeng322/article/details/80843597,-&quot;}" target="_blank" title="tomcat9(https)与IDEA的配置"><em class="related_suggestion_highlight">tomcat</em>9(<em class="related_suggestion_highlight">https</em>)与IDEA的<em class="related_suggestion_highlight">配置</em></a>
          <p>
            一、<em class="related_suggestion_highlight">tomcat</em>9<em class="related_suggestion_highlight">配置</em><em class="related_suggestion_highlight">HTTPS</em>前提:JDK1.8 安装完毕,<em class="related_suggestion_highlight">tomcat</em> 9.0.10下载解压完毕1、生成证书&nbsp;直接使用命令生成:keytool -genkeypair -alias &amp;quot;<em class="related_suggestion_highlight">tomcat</em>&amp;quot; -keyalg &amp;quot;RSA&amp;quot; -keystore &amp;quot;D:\tools\apache-<em class="related_suggestion_highlight">tomcat</em>-9.0.10\bin\<em class="related_suggestion_highlight">tomcat</em>.keystore&amp;quot;(秘钥口令:123456即可)2、<em class="related_suggestion_highlight">配置</em>tomc...
          </p>
					</li>
  • <a href="https://blog.csdn.net/draven1122/article/details/53408410" data-track-click="{&quot;con&quot;:&quot;,https://blog.csdn.net/draven1122/article/details/53408410,-&quot;,&quot;mod&quot;:&quot;popu_712&quot;}" target="_blank" title="Eclipse中配置Tomcat的Https服务">Eclipse中<em class="related_suggestion_highlight">配置</em><em class="related_suggestion_highlight">Tomcat</em>的<em class="related_suggestion_highlight">Https</em>服务</a>
    <p>
      1.利用Java工具生成证书
    
  • dos下进入JAVA_HOME(jdk下的bin目录)
    keytool -v -genkey -alias tomcat -keyalg RSA -keystore c:/tomcat.keystore ,注意该命令下要求输入的秘钥是不可见的(dos下对密码输入有保护机制,看上去感觉是键盘无法输入的状态,实际上已经输入了)
    然后在tomcat的server.x

  • <a href="https://download.csdn.net/download/wkh___/10036141" data-track-click="{&quot;con&quot;:&quot;,https://download.csdn.net/download/wkh___/10036141,-&quot;,&quot;mod&quot;:&quot;popu_712&quot;}" data-track-view="{&quot;con&quot;:&quot;,https://download.csdn.net/download/wkh___/10036141,-&quot;,&quot;mod&quot;:&quot;popu_712&quot;}" target="_blank" title="maven实现tomcat插件的https环境">maven实现<em class="related_suggestion_highlight">tomcat</em>插件的<em class="related_suggestion_highlight">https</em>环境</a>
    <p>
      在maven环境使用<em class="related_suggestion_highlight">tomcat</em>插件启动项目时,可以使用该命令修改<em class="related_suggestion_highlight">tomcat</em>插件为<em class="related_suggestion_highlight">https</em>环境。一般作为本地开发环境改为<em class="related_suggestion_highlight">https</em>应用。
    
  • 线上则需要另外安装tomcat,并且修改server.xml实现https
    文档里只说明了maven的tomcat插件。

  • <a href="https://blog.csdn.net/Name_kongkong/article/details/53447556" data-track-click="{&quot;con&quot;:&quot;,https://blog.csdn.net/Name_kongkong/article/details/53447556,-&quot;,&quot;mod&quot;:&quot;popu_712&quot;}" data-track-view="{&quot;con&quot;:&quot;,https://blog.csdn.net/Name_kongkong/article/details/53447556,-&quot;,&quot;mod&quot;:&quot;popu_712&quot;}" target="_blank" title="tomcat7配置https安全访问"><em class="related_suggestion_highlight">tomcat</em>7<em class="related_suggestion_highlight">配置</em><em class="related_suggestion_highlight">https</em>安全访问</a>
    <p>
      由于公司最近上了个java框架写的网站,(ps:其实不知道在哪搞的,随便改了改),所有用到了<em class="related_suggestion_highlight">tomcat</em>,但是。。。但是我不会啊,没办法一步步来。其实就是解压一下,然后上传一下代码,“真简单”(相对我这种小白), 调优啥的也不会,还是慢慢来。下面说说<em class="related_suggestion_highlight">tomcat</em><em class="related_suggestion_highlight">配置</em><em class="related_suggestion_highlight">https</em>,这个其实是百度、google各种博客的结果,其实官网还是比较好的,还是很权威的,嘿嘿。 
    
  • 官网文献:http://tomca

  • <a href="https://blog.csdn.net/weixin_39851884/article/details/78663139" data-track-click="{&quot;con&quot;:&quot;,https://blog.csdn.net/weixin_39851884/article/details/78663139,-&quot;,&quot;mod&quot;:&quot;popu_712&quot;}" data-track-view="{&quot;con&quot;:&quot;,https://blog.csdn.net/weixin_39851884/article/details/78663139,-&quot;,&quot;mod&quot;:&quot;popu_712&quot;}" target="_blank" title="配置tomcat服务https协议"><em class="related_suggestion_highlight">配置</em><em class="related_suggestion_highlight">tomcat</em>服务<em class="related_suggestion_highlight">https</em>协议</a>
    <p>
      <em class="related_suggestion_highlight">配置</em><em class="related_suggestion_highlight">tomcat</em>服务<em class="related_suggestion_highlight">https</em>协议
    
  • 声明:本篇文章配置方法适用于本地测试或者只有一台服务器测试环境的tomcat服务,如果需要给Nginx负载均衡配置https请转至下一篇文章。
     
    步骤:
    1. 生成个人CA证书(该证书只适用于测试使用)
    2. 配置tomcat运行配置文件server.xml
    3. 配置tomcat服务web.xml,实现将http请求转换成https请求
    4

  • <a href="https://blog.csdn.net/yanpengfeil/article/details/81702851" data-track-click="{&quot;con&quot;:&quot;,https://blog.csdn.net/yanpengfeil/article/details/81702851,-&quot;,&quot;mod&quot;:&quot;popu_712&quot;}" data-track-view="{&quot;con&quot;:&quot;,https://blog.csdn.net/yanpengfeil/article/details/81702851,-&quot;,&quot;mod&quot;:&quot;popu_712&quot;}" target="_blank" title="域名配置 https协议(tomcat配置https协议)">域名<em class="related_suggestion_highlight">配置</em> <em class="related_suggestion_highlight">https</em>协议(<em class="related_suggestion_highlight">tomcat</em><em class="related_suggestion_highlight">配置</em><em class="related_suggestion_highlight">https</em>协议)</a>
    <p>
      此文章是使用免费阿里云免费申请的ssl证书进行<em class="related_suggestion_highlight">配置</em>
    
  • 步骤查看阿里云官网文档

    https?/yq.aliyun.com/articles/422997?spm=5176.10695662.1996646101.searchclickresult.19bd6743o7HyaF

    说一下配置出现的问题

    配置的方法是完全按 照阿里云官网给的文档配置的,文档中明确的写道 要使用 .jks的,但是当我…

  • <a href="https://blog.csdn.net/jack85986370/article/details/51379285" data-track-click="{&quot;con&quot;:&quot;,https://blog.csdn.net/jack85986370/article/details/51379285,-&quot;,&quot;mod&quot;:&quot;popu_712&quot;}" data-track-view="{&quot;con&quot;:&quot;,https://blog.csdn.net/jack85986370/article/details/51379285,-&quot;,&quot;mod&quot;:&quot;popu_712&quot;}" target="_blank" title="阿里云 centos7 tomcat8 https 配置不起作用">阿里云 centos7 <em class="related_suggestion_highlight">tomcat</em>8 <em class="related_suggestion_highlight">https</em> <em class="related_suggestion_highlight">配置</em>不起作用</a>
    <p>
      <em class="related_suggestion_highlight">配置</em>方法网上一搜一大片,这里不描述了,只要将自己生成的证书或者网上购买的证书(例如:证书名称app.xxxx.com.jks,证书密码:password)放到<em class="related_suggestion_highlight">tomcat</em>/conf目录下,然后修改server.xml 如下即可。&lt;Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled
    </p>
    
  • <a href="https://blog.csdn.net/weidong_y/article/details/80559607" data-track-click="{&quot;con&quot;:&quot;,https://blog.csdn.net/weidong_y/article/details/80559607,-&quot;,&quot;mod&quot;:&quot;popu_712&quot;}" data-track-view="{&quot;con&quot;:&quot;,https://blog.csdn.net/weidong_y/article/details/80559607,-&quot;,&quot;mod&quot;:&quot;popu_712&quot;}" target="_blank" title="nginx 安装、配置 http + https 访问 tomcat 项目以及配置 http 强转 https">nginx 安装、<em class="related_suggestion_highlight">配置</em> http + <em class="related_suggestion_highlight">https</em> 访问 <em class="related_suggestion_highlight">tomcat</em> 项目以及<em class="related_suggestion_highlight">配置</em> http 强转 <em class="related_suggestion_highlight">https</em></a>
    <p>
      
    </p>
    
  • <a href="https://blog.csdn.net/hw1287789687/article/details/50525609" data-track-click="{&quot;con&quot;:&quot;,https://blog.csdn.net/hw1287789687/article/details/50525609,-&quot;,&quot;mod&quot;:&quot;popu_712&quot;}" data-track-view="{&quot;con&quot;:&quot;,https://blog.csdn.net/hw1287789687/article/details/50525609,-&quot;,&quot;mod&quot;:&quot;popu_712&quot;}" target="_blank" title="让tomcat支持https访问">让<em class="related_suggestion_highlight">tomcat</em>支持<em class="related_suggestion_highlight">https</em>访问</a>
    <p>
      如何让<em class="related_suggestion_highlight">tomcat</em>支持<em class="related_suggestion_highlight">https</em>访问呢 
    
  • 步骤:(1)生成keystore文件命令:keytool -genkey -alias tomcat -keyalg RSA -keysize 1024 -validity 365 -keystore tomcat22.keystore
    生成的文件 就是:tomcat22.keystore
    (2)把keystore 文件放在conf目录下(3)修改ser

  • <a href="https://blog.csdn.net/localhost01/article/details/70836977" data-track-click="{&quot;con&quot;:&quot;,https://blog.csdn.net/localhost01/article/details/70836977,-&quot;,&quot;mod&quot;:&quot;popu_712&quot;}" data-track-view="{&quot;con&quot;:&quot;,https://blog.csdn.net/localhost01/article/details/70836977,-&quot;,&quot;mod&quot;:&quot;popu_712&quot;}" target="_blank" title="使用阿里云配置Tomcat Https(注意不同tomcat8.5版本配置不同)">使用阿里云<em class="related_suggestion_highlight">配置</em><em class="related_suggestion_highlight">Tomcat</em> <em class="related_suggestion_highlight">Https</em>(注意不同<em class="related_suggestion_highlight">tomcat</em>8.5版本<em class="related_suggestion_highlight">配置</em>不同)</a>
    <p>
      使用阿里云<em class="related_suggestion_highlight">Https</em><em class="related_suggestion_highlight">配置</em><em class="related_suggestion_highlight">Tomcat</em>(注意<em class="related_suggestion_highlight">tomcat</em>8.5版本<em class="related_suggestion_highlight">配置</em>不同)
    
  • 前言

    我们知道jdk自带的keytool工具可以帮助提供https支持,使用下面命令:

    生成服务器证书,有效时间100年、证书别名为serverkey、生成文件名为server.keystore:

    keytool -genkey -v -alias serverkey -keya

  • <a href="https://blog.csdn.net/acmjk/article/details/79468640" data-track-click="{&quot;con&quot;:&quot;,https://blog.csdn.net/acmjk/article/details/79468640,-&quot;,&quot;mod&quot;:&quot;popu_712&quot;}" data-track-view="{&quot;con&quot;:&quot;,https://blog.csdn.net/acmjk/article/details/79468640,-&quot;,&quot;mod&quot;:&quot;popu_712&quot;}" target="_blank" title="给tomcat部署的网站配置https">给<em class="related_suggestion_highlight">tomcat</em>部署的网站<em class="related_suggestion_highlight">配置</em><em class="related_suggestion_highlight">https</em></a>
    <p>
      场景
    
  • 公司ios开发需要服务api都基于https,所以最近摸索了一下。
    服务器部署在阿里云上,本来想直接找let encrypt 或者 trustAisa 的免费证书。但是搜了一些博客发现,阿里云服务器配置第三方的CA证书,还需要在阿里云上配置一个中间证书,感觉这样不太好,刚好阿里云官网也提供免费的CA证书,所以直接使用阿里云的。如下图所示。

    配置方法

    购买好免费的服务大概半小时证书…

    上滑加载更多
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值