Letsencrypt Tomcat https 整理

Posted 馥盒子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Letsencrypt Tomcat https 整理相关的知识,希望对你有一定的参考价值。

windows:

1.准备软件 Letsencrypt tomcat-native

    下载Letsencrypt最新版 [https://github.com/Lone-Coder/letsencrypt-win-simple/releases]

    本文使用版本 [https://pan.baidu.com/s/1nwvz1WX 包含下文tomcat-native.dll] 

2.解压Letsencrypt,使用管理员方式打开cmd

1)letsencrypt.exe

2)首次会提示输入邮箱,按提示输入即可

3)

 W: Generate a certificate via WebDav and install it manually.

 F: Generate a certificate via FTP/ FTPS and install it manually.

 M: Generate a certificate manually.

 A: Get certificates for all hosts

 Q: Quit

Which host do you want to get a certificate for: M 【输入M自行创建证书】

4)

Enter a host name:  www.yourdomain.com 【输入域名】

5)

Enter a site path (the web root of the host for http authentication): 【输入本地路径 存储认证信息 通过www.youtdomain.com/.well-known/acme-challenge可返回生成的认证信息,如果没有web服务,自行创建即可】

6)

看到如下信息则证书已成功生成

   因为只有90的期限,工具提供了自动更新证书信息的任务,选择Y

   输入管理员的用户和密码 即可

3. 接下来配置Tomcat

1)把上述下载的tnative.dll 放到JRE_HOME的bin目录下

2)配置server.xml [tip: 最好先备份下你的server.xml]

8080 =》80 8443=》443

==》

<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" 

               redirectPort="443" />


找到 protocol="org.apache.coyote.http11.Http11AprProtocol" 去除注释

  <Connector port="443" protocol="org.apache.coyote.http11.Http11AprProtocol"

               maxThreads="150" SSLEnabled="true" >

        <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />

        <SSLHostConfig>

            <Certificate

                            certificateKeyFile="[your-path-here]-key.pem"

                            certificateFile="[your-path-here]-crt.pem"

                            certificateChainFile="[your-path-here]-chain.pem"

                            type="RSA" />

        </SSLHostConfig>

   </Connector>

your-path-here:默认在C:/Users/Administrator/AppData/Roaming/letsencrypt-win-simple/httpsacme-v01.api.letsencrypt.org


找到 pport="8009" 去除注释

==》

<Connector port="8009" protocol="AJP/1.3" redirectPort="443" />


3)接下来修改server.xml同目录下的web.xml

添加

      <security-constraint> 

           <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>

把80端口转为443端口


使用http://www.51mla.com会自动转为https://www.51mla.com,下面展示一下成果


以上是关于Letsencrypt Tomcat https 整理的主要内容,如果未能解决你的问题,请参考以下文章

[web建站]-简单通过letsencrypt配置HTTPS证书

LetsEncrypt : LetsEncrypt 的中间证书

免费证书申请——Let's Encrypt的申请与应用(IIS,Tomcat)

用letsencrypt搭建免费的https网站

JupyterHub自动HTTPS Letsencrypt:Kubernetes Ingress控制器假证书

通过letsencrypt设置https后,Nodejs聊天程序'io未定义'错误