首页 > 解决方案 > 如何在 aws linux 机器上为 tomcat 服务器安装 ssl 证书

问题描述

我有一个没有负载均衡器的 AWS ec2 实例。我在同一台服务器上运行 apache tomcat 服务器。我应该如何在服务器上为我在服务器上托管的网站安装 ssl 证书?我正在运行在服务器上运行的 java struts 2 应用程序。在线的所有选项都是关于将 ACM 与负载均衡器一起使用。

标签: javaamazon-web-servicestomcatssl

解决方案


对于 Tomcat8,我将执行以下操作:

  • 将您的 .p12 复制到 /usr/java/latest/

  • 将以下内容添加到您的server.xml文件中,确保 keystoreFile 与上述步骤匹配并且 keystorePass 对应于证书

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLSv1.2"
           keystoreFile="/usr/java/latest/<your.p12>"
           keystorePass="<add passwd here>" keystoreType="PKCS12"
           connectionTimeout="20000" redirectPort="8443"
           proxyPort="443" server="NunYa"
           proxyName="<fqdn>" />
  • server.xml如果要防止未加密的流量,请在开头注释掉块<Connector port="8080" protocol="HTTP/1.1"

有关更多详细信息,请参阅下面的参考资料。

参考

https://tomcat.apache.org/tomcat-8.0-doc/ssl-howto.html

https://www.feistyduck.com/library/openssl-cookbook/online/ch-testing-with-openssl.html

http://www.robinhowlett.com/blog/2016/01/05/everything-you-ever-wanted-to-know-about-ssl-but-were-afraid-to-ask/


推荐阅读