我想知道是否有人在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
时,我收到上述错误。一些诊断是:
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上工作的建议都值得赞赏。
答案 0 :(得分:6)
自己想出来。怀疑,这确实与防火墙有关。 在GCE实例中允许HTTPS流量时,默认端口为443而不是8443。 请在此处更改侦听端口或更改防火墙规则:
Google Developers Console-&gt; Compute Engine-&gt; Networks-&gt;网络 该实例的名称与 - >防火墙规则相关联。
列出了几条规则,我需要修改default-allow-https