Letsencrypt / SSL Tomcat8 Ubuntu 16.04

问题描述 投票:3回答:1

我已经在互联网上关注了一些指南,但我现在被困住了,因为他们告诉我从这一点开始的工作都没有。

我有一个带Tomcat8的Ubuntu 16.04。我已经在Tomcat的webapps中部署了一个应用程序,它在http上工作正常。然后我使用letsencrypt获取证书,在验证我的Tomcat设置后,它给了我4个.pem文件。

  • Cankpem
  • fullchain.pem
  • cert.pem
  • privkey.pem

现在我不明白如何在我的Tomcat / conf / server.xml中链接/使用它们,以便能够访问端口443/8443上的应用程序。当我使用非root用户安装Tomcat服务时,我已经为443到8443设置了一个portforwarding。我将.pem文件放入我的Tomcat的conf-folder中,因此server.xml就在它们旁边。

    <Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol"
           maxThreads="150" SSLEnabled="true" >
    <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
    <SSLHostConfig>
        <Certificate certificateKeyFile="conf/privkey.pem"
                     certificateFile="conf/cert.pem"
                     certificateChainFile="conf/chain.pem"
                     type="RSA" />
    </SSLHostConfig>
</Connector>

这是我在server.xml文件中的当前设置,但它无法正常工作。预设也没有“fullchain.pem”的地方,我不知道是否需要更改“org.apache”中的行,因为我不知道那些实际上做了什么。

提前致谢。我设法在Windows和Ubuntu上做了一个自签名证书,但是你总是得到这个不安全的警告。有人告诉我,这不会发生在letsencrypt上。

ssl-certificate ubuntu-16.04 tomcat8
1个回答
3
投票

我会写我是如何安装它的:

下载certbot:

$ wget https://dl.eff.org/certbot-auto<br/>
$ chmod a+x certbot-auto

获取证书:

$ sudo /path/to/certbot-auto certonly --webroot -w /path/to/apache-tomcat-8.5/webapps/ROOT -d example.com

您的证书将被下载到此文件夹中:“/ etc / letsencrypt / live / YOUR_WEBSITE_HERE /”

像这样编辑server.xml中的HTTPS连接器

<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true">
  <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol"/>
  <SSLHostConfig>
  <Certificate 
 certificateKeyFile="/etc/letsencrypt/live/YOUR_WEBSITE_HERE/privkey.pem" 
 certificateFile="/etc/letsencrypt/live/YOUR_WEBSITE_HERE/cert.pem" certificateChainFile="/etc/letsencrypt/live/YOUR_WEBSITE_HERE/chain.pem" 
 type="RSA" />
</SSLHostConfig>
</Connector>

我们的加密证书通常有效期为90天,因此您需要定期续订。将以下行添加到crontab以执行此操作:

0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && ./path/to/certbot-auto renew

我还写了一篇关于它的博客文章,你可以在这里找到:https://www.gasimof.com/blog/enable-https-for-free-for-tomcat/

© www.soinside.com 2019 - 2024. All rights reserved.