Java HTTPS在Google计算引擎上不工作

Java HTTPS在Google计算引擎上不工作,java,tomcat,ssl,https,google-compute-engine,Java,Tomcat,Ssl,Https,Google Compute Engine,我想知道是否有人有在谷歌计算引擎(不是GAE)实例上使用SSL和HTTPS的经验。我的网站无法使用HTTPS:浏览器和在线测试工具无法连接到我的服务器 我的环境是ubuntu-1404-trusty-v20141212和Tomcat 8 以下是我所做的: 我在实例的网络设置上勾选了“允许HTTP”和“允许HTTPS流量” 安装了我的$4 Comodo证书 在server.xml上用作连接器配置,只添加密钥库和密码 当我启动Tomcat并转到https://mysite.com:8443。一

我想知道是否有人有在谷歌计算引擎(不是GAE)实例上使用SSL和HTTPS的经验。我的网站无法使用HTTPS:浏览器和在线测试工具无法连接到我的服务器

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

以下是我所做的:

  • 我在实例的网络设置上勾选了“允许HTTP”和“允许HTTPS流量”
  • 安装了我的$4 Comodo证书
  • server.xml
    上用作连接器配置,只添加密钥库和密码

当我启动Tomcat并转到
https://mysite.com:8443
。一些诊断包括:

  • Log
    catalina.out
    没有说任何严重的话
  • 使用
    netstat-ntlp | grep:8443

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

最后,我使用相同的环境创建了一个AWS EC2实例,并安装了SSL证书。它可以立即工作,无需对端口和防火墙进行任何修补。
任何关于如何使SSL在GCE上工作的建议都将不胜感激

我自己解决了。正如人们所怀疑的,这确实与防火墙有关。 在GCE实例中允许HTTPS通信时,默认端口为443而不是8443。 在此处更改侦听端口或更改防火墙规则:

谷歌开发者控制台->计算引擎->网络->网络的 实例与之关联的名称->防火墙规则


列出了几个规则,在我的例子中,我需要修改
默认允许https

自己解决它。正如人们所怀疑的,这确实与防火墙有关。 在GCE实例中允许HTTPS通信时,默认端口为443而不是8443。 在此处更改侦听端口或更改防火墙规则:

谷歌开发者控制台->计算引擎->网络->网络的 实例与之关联的名称->防火墙规则

列出了几个规则,在我的例子中,我需要修改
defaultallowhttps