我在 Google App Engine Java 上拥有一个 Java 应用程序,其中包含一个自定义域和多个子域。
我希望允许我的应用程序的一部分通过 https 提供服务(例如,子域的所有 URL 或路径中带有/secure/的所有 URL)。
其他 URL 仍应通过 http 提供。我们的网站每秒收到超过 100 个请求,其中绝大多数请求仍应通过 http 运行。
我担心,通过尝试激活 https,我可能会阻止所有 http 请求,这会给我们的服务器带来严重的停机时间。
- 是否可以使用 App Engine 执行我想要的操作?
- 避免停机的最佳方法是什么?
谢谢!
最佳答案
如果有人感兴趣,这就是我最终所做的:
在我的域的 Google 应用中,在“更多控件”/“安全性”/“自定义域的 SSL”中,我激活了我的应用引擎应用 ID。
我激活了虚拟 IP(39 美元/月)(但它也适用于 SNI)
当我使用 VIP 时,我更改了 CNAME,将所有子域重定向到具有 VIP 的 SSL 的特殊 CNAME(我认为对于 SNI 来说是不必要的)
我使用 OpenSSL 创建了 key + CSR。我创建了一个自签名证书并对其进行了测试。它有效,但当然,警告消息。
我向签名机构支付了有效证书的费用(我所有子域的通配符,大约 100 欧元/年)
我在我的域的 Google Apps 中添加了该证书 + 中间证书和 key 。
现在它可以在 http 和 https 中完美运行。 http 任何时候都没有出现任何服务中断。
我现在将向我的应用程序添加一些 url 过滤器,以自动将一些 http url 重定向到 https。
关于java - 将 HTTPS 添加到 Google App Engine 上的自定义域(并保持 HTTP 正常工作),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23245908/