HTTPS无法在Google Compute Engine上运行

时间:2014-12-26 12:07:11

标签: java tomcat ssl https google-compute-engine

我想知道是否有人在Google Compute Engine(非GAE)实例上使用SSL和HTTPS。我无法在我的网站上使用HTTPS:浏览器和在线测试工具无法连接到我的服务器。

我的环境是ubuntu-1404-trusty-v20141212和Tomcat 8.

这就是我的所作所为:

  • 我在实例的网络设置上勾选了“允许HTTP”和“允许HTTPS流量”
  • 安装了我的4美元Comodo证书。
  • 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时,我收到上述错误。一些诊断是:

  • 记录catalina.out没有说严重的事情。
  • 使用netstat -ntlp |grep :8443

    tcp 0 0 0.0.0.0:8443 0.0.0.0:* LISTEN 8500/java显示我的tomcat正在收听8443

最后,我创建了一个具有相同环境的AWS EC2实例,并安装了我的SSL证书。它立即工作,没有任何修补端口和防火墙。 任何关于如何使SSL在GCE上工作的建议都值得赞赏。

1 个答案:

答案 0 :(得分:6)

自己想出来。怀疑,这确实与防火墙有关。 在GCE实例中允许HTTPS流量时,默认端口为443而不是8443。 请在此处更改侦听端口或更改防火墙规则:

  

Google Developers Console-&gt; Compute Engine-&gt; Networks-&gt;网络   该实例的名称与 - >防火墙规则相关联。

列出了几条规则,我需要修改default-allow-https