java - 将 HTTPS 添加到 Google App Engine 上的自定义域(并保持 HTTP 正常工作)

标签 java google-app-engine ssl https

我在 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/

相关文章:

java - 在 JPQL 中使用自定义构造函数返回相关实体时如何避免 INNER JOIN

google-app-engine - 由于 HashMap$Entry ClassNotFound 错误,Grails 应用程序无法在 GoogleAppEngine 中运行

.net - RabbitMQ DotNet 客户端不连接到 SSL

Android 应用程序未使用自签名证书连接到 HTTPS

java - OutOfMemoryError 之前的垃圾收集

java - 如何自动滚动文本区域而不增加其大小

java - 如何在 c :set? 中使用 Struts 迭代变量

java - Sitemesh 2.4 与 GAE

python - 覆盖 ndb 属性的默认 _get_for_dict()

javascript - Express.js HTTPS 未启动服务器