我在 AWS 负载均衡器()上安装了 SSL 证书app1.company.com
,并且一个带有 Tomcat 的实例位于 LB 后面。
如果我打开https://app1.company.com:8443/我可以在 URL 栏上看到连接安全/有效锁。如果我使用 Tomcat 的私有 IP 打开,我会看到连接不安全的标志。
我知道证书通常只绑定到域(或仅应该绑定到域)。除了维护应用程序的团队之外,没有人会使用 IP 访问应用程序。现在我需要更新证书,我想知道我是否还应该将其安装在 $TOMCAT_HOME/conf/server.xml 中指定的 tomcat 密钥库上
<Connector
protocol="org.apache.coyote.http11.Http11NioProtocol"
port="8443" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
keystoreFile="/home/ec2-user/tomcat.keystore" keystorePass="password"
clientAuth="false" sslProtocol="TLS"/>
现在,此文件没有为 app1.company.com 导入的证书(因为该证书安装在负载均衡器上)。是否只需在 AWS 负载均衡器中替换新证书并保留 Tomcat 密钥库即可?
答案1
我建议您阻止对服务器的直接访问,因为这是进入服务器的后门和 DDOS 攻击。我会通过将 Tomcat 实例放入私有子网来实现这一点。如果您必须将其放在公共子网中,我会确保只有少数东西可以访问它 - ALB(使用 VPC CIDR 范围最简单)和指定的 IP。如果它是私有的,您可以使用 AWS Session Manager 从 AWS 控制台访问服务器。
您的 ALB 可以使用 ACM(AWS 证书管理器),它可以免费颁发和更新证书。我能想到使用其他注册商的唯一原因是您需要扩展验证证书或其他功能。ACM 证书只能在负载均衡器和 CloudFront 上使用,不能在您自己的服务器上使用。
您可以将证书放到实例上,但我不确定这是否值得。