安全第一 应该是任何组织保护您的辛勤工作代码免受黑客攻击的经验法则。 在公共网络上传输应用程序数据时,它变得更加重要。 对于这种情况,我们需要使用 TLS 实现端到端加密。
Let’s Encrypt 是一个证书颁发机构,它提供用于 Web 应用程序的有效 SSL 证书。 它免费为每个人提供证书,但有一些限制。
本教程介绍了如何使用 Tomcat Web 服务器设置 Let’s Encrypt SSL。
先决条件
本教程不包括 Tomcat 安装。 我们假设您的系统上已经运行了 Tomcat 服务器。
第 1 步 – 安装 certbot
Certbot 是一个命令行实用程序,用于生成和管理 Let’s Encrypt SSL 证书。 这适用于大多数操作系统。
Debian 用户可以通过运行以下命令来安装 certbot。 其他操作系统用户可以从 这里.
sudo apt-get install certbot
接下来,为您的域创建 SSL 证书。 确保域 DNS 指向您的系统。 在本教程中,我使用的是 tomcat.tecadmin.net 子域。
certbot certonly --standalone -d tomcat.tecadmin.net
成功后,您将在以下位置拥有域的 ssl 证书:
ls /etc/letsencrypt/live/tomcat.tecadmin.net/
cert.pem chain.pem fullchain.pem privkey.pem README
这些是 SSL 证书设置所需的所有文件。
第 2 步 – 使用 Let’s Encrypt 配置 Tomcat
接下来,配置 Tomcat 服务器以侦听安全协议。 默认的 tomcat 使用 8443 来监听 SSL/TLS 请求。
复制 /opt/tomcat/conf 目录下的 SSL 证书和私钥文件:
cd /etc/letsencrypt/live/tomcat.tecadmin.net
cp {cert,chain,privkey}.pem /opt/tomcat/conf/
然后编辑 Tomcat 主目录下可用的 conf/server.xml 文件。 在我的情况下,Tomcat 安装在 /opt/tomcat 下,因此使用以下命令编辑配置文件。
nano /opt/tomcat/conf/server.xml
消除 <!--
和 -->
取消注释配置文件中的以下部分。 还要在证书文件中添加证书部分。 配置将如下所示:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true"> <SSLHostConfig> <Certificate certificateFile="conf/cert.pem" certificateKeyFile="conf/privkey.pem" certificateChainFile="conf/chain.pem" /> </SSLHostConfig> </Connector>
Save 你的文件和 close 它。
重新启动 Tomcat 服务以应用更改。
sudo systemctl restart tomcat
就是这样。 您已经配置了 Let’s Encrypt SSL with Tomcat。
下一步是验证设置。
步骤 3 – 验证 Tomcat SSL 证书
默认带有 SSL 的 tomcat 侦听 8443 端口。 使用带有 8443 端口的域通过安全套接字层访问 Tomcat。
- https://tomcat.tecadmin.net:8443
就是这样。 您已成功配置 Let’s Encrypt SSL with Tomcat。
第 4 步 – 更新 SSL 证书
默认的 Let’s Encrypt SSL 证书会在 90 天后过期。 您可以在过期后的 1 个月内随时轻松刷新 SSL 证书。
键入以下命令以刷新 SSL 证书。
certbot certonly --standalone -d tomcat.tecadmin.net
一旦成功续订。 将新生成的证书文件复制到Tomcat conf目录下。
cd /etc/letsencrypt/live/tomcat.tecadmin.net
cp {cert,chain,privkey}.pem /opt/tomcat/conf
重新启动 Tomcat 服务以应用更改。
sudo systemctl restart tomcat
结论
在本教程中,您学习了使用 Tomcat Web 服务器设置 Let’s Encrypt SSL 证书。 此外,还为您提供了续订 SSL 证书的步骤。