我想知道是否有人在Google Compute Engine(不是GAE)实例上使用SSL和HTTPS的经验。我无法在我的网站上使用HTTPS:浏览器和在线测试工具无法连接到我的服务器。
我的环境是ubuntu-1404-trusty-v20141212和Tomcat 8。
这是我所做的:
server.xml
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="/etc/ssl/private/tomcat.keystore" keystorePass="password" />
启动Tomcat并转到时,出现上述错误https://mysite.com:8443。一些诊断是:
https://mysite.com:8443
catalina.out
netstat -ntlp |grep :8443
tcp 0 0 0.0.0.0:8443 0.0.0.0:* LISTEN 8500/java 显示我的tomcat在8443收听
tcp 0 0 0.0.0.0:8443 0.0.0.0:* LISTEN 8500/java
最后,我在相同的环境下创建了一个AWS EC2实例,并安装了SSL证书。它可以立即工作,而无需修改端口和防火墙。任何有关如何使GCE上使用SSL的建议,我们深表感谢。
我自己想通了。如怀疑的那样,这确实与防火墙有关。在GCE实例中允许HTTPS通信时,默认端口为443,而不是8443。在此处更改监听端口或更改防火墙规则:
Google Developers Console->计算引擎->网络->实例与之关联的网络名称->防火墙规则。
列出了一些规则,在我的情况下,我需要修改 default-allow-https
default-allow-https