我正在嘗試使用Ubuntu和Tomcat 7.0.52獲得在AWS EC2實例上工作的CA cert/SSL。瀏覽器無法連接。下面是我去通步驟:在EC2 Tomcat服務器上安裝SSL
keytool -genkey -alias mydomain -keyalg RSA -keystore mydomain.keystore -keysize 2048
<fill out information>
keytool -certreq -keyalg RSA -alias mydomain -file certreq.csr -keystore ../mydomain.keystore
提交證書籤名ssls.com/Geotrust,並接收返回: bundle.crt www.mydomain.net.crt
導入證書到密鑰庫:
keytool -import -trustcacerts -alias root -keystore ../mydomain.keystore -file bundle.crt
keytool -import -alias mydomain -keystore ../mydomain.keystore -file www.mydomain.net.crt
接下來,更新$ TOMCAT_HOME /配置/ server.xml中:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />
<Connector port="8443" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
keystoreFile="/home/ubuntu/mydomain.keystore"
keystorePass="xxxxxxx"
clientAuth="false" sslProtocol="TLS" />
並重新啓動tomcat。
與安全組EC2實例都設置爲允許使用80端口和443
ipables作出重定向80-> 8080,443-> 8443變化:
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
爲www.mydomain DNS .NET還沒有到位,所以我目前正在修改/ etc/hosts中測試:
54.200.126.130 www.mydomain.net
54.200.126.130 mydomain.net
sslscan不返回任何有效的密碼。他們全部被列爲「被拒絕」。
OpenSSL的測試:
openssl s_client -connect www.mydomain.net:443
CONNECTED(00000003)
64007:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:s23_clnt.c:602:
切換到使用keytool正常工作(除強制性的瀏覽器警告)生成的自簽名的證書。所以看起來問題必須是證書和/或密鑰庫,但我不確定問題是什麼。
謝謝!在這篇文章中,最讓我感觸最深的是讓我意識到我需要在端口80和443(EC2安全組)上打開流量,並修改iptables。 – brhlavinka