我正在尝试在我的AWS EC2 Linux AMI实例上配置Godaddy SSL证书 . 但无论我尝试什么,只是拒绝连接 . 但是我已经在安全组中打开了入站443端口 . 我已经在LAMP上配置了好几次,但它第一次在java上,所以也许我错过了一些东西?
我按照Godaddy's tomcat guide在我的实例上设置了SSL . 我还阅读了下面的线程来克服这个问题,但仍然无法正常工作
这些是我遵循的步骤:
这就是我设置tomcat密钥库的方法
keytool -keysize 2048 -genkey -alias tomcat -keyalg RSA -keystore tomcat.keystore
keytool -certreq -keyalg RSA -alias tomcat -file csr.csr -keystore tomcat.keystore
sudo keytool -import -alias root -keystore tomcat.keystore -trustcacerts -file /etc/ssl/WSssl/gd_bundle-g2-g1.crt
sudo keytool -import -alias intermed -keystore tomcat.keystore -trustcacerts -file /etc/ssl/WSssl/gdig2.crt.pem
sudo keytool -import -alias tomcat -keystore tomcat.keystore -trustcacerts -file /etc/ssl/WSssl/ab51xxxxx79.crt
在tomcat 8.5 server.xml上配置密钥文件
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector
port="8443" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
keystoreFile="/home/ec2-user/tomcat.keystore" keystorePass="exxxxxxxxxxxxxM"
clientAuth="false" sslProtocol="TLS" />
要重定向的IP表
sudo iptables -t nat -n -L PREROUTING --line-numbers
Chain PREROUTING (policy ACCEPT)
num target prot opt source destination
1 REDIRECT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 redir ports 8443
2 REDIRECT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 redir ports 8080
这些是安全组入站规则,没有我的ec2实例与任何负载均衡器直接连接Inbound Rules
这是问题,它拒绝每个Https请求Refused Error
这是Godaddy证书检查器result
我认为问题在于端口,因为请求甚至没有打到服务器 . 任何人都可以指出任何问题吗?
为了清楚,这是规格:
AWS EC2在Amazon Linux AMI上运行
Java 8,Tomcat 8.5
带有Spring Security项目的Spring MVC
2 回答
最后,它正在工作,配置本身没有任何问题 . 在阅读
catalina.out
时,我发现由于用户权限,tomcat无法读取tomcat.keystore
文件 .Learnings: 始终先阅读日志
EDIT: 任何人都可以将其用作设置SSL的指南
假设您从vpc外部进行连接,则应检查vpc acl是否允许443中的入站和短暂端口的出站 .