一尘不染

HTTPS无法在Google Compute Engine上运行

tomcat

我想知道是否有人在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证书。它可以立即工作,而无需修改端口和防火墙。任何有关如何使GCE上使用SSL的建议,我们深表感谢。


阅读 187

收藏
2020-06-16

共1个答案

一尘不染

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

Google Developers Console->计算引擎->网络->实例与之关联的网络名称->防火墙规则。

列出了一些规则,在我的情况下,我需要修改 default-allow-https

2020-06-16