【问题标题】:how to enforce https-only on incoming traffic如何对传入流量强制执行 https-only
【发布时间】:2020-12-23 22:08:03
【问题描述】:

我的 Web 应用程序在 GCP 上,并接受 httphttps 上的请求。我想只强制执行https 连接,而不会给用户体验造成摩擦。

如果我删除http,那么我担心输入http://mywebapp.com 的用户会得到404。正确的方法应该是接受httphttps 上的请求并重定向http 请求(303),以便客户端使用https 再次发送请求?

  • 上面可以做吗?
  • 这不会增加我的流量成本(在gcp 上由于重定向/重复请求)
  • 还有其他更好的方法来实现我想要的吗?

【问题讨论】:

    标签: google-cloud-platform https webserver playframework-2.6


    【解决方案1】:

    是的,网站升级到安全连接是很常见的。 GCP 负载平衡器可以将请求“升级”到 HTTPS。按照他们的step-by-step documentation 启用此功能。

    上面可以做吗?

    是的。

    这不会增加我的流量成本(在 gcp 上由于重定向/重复请求)

    应该可以忽略不计,因为重定向应该是永久性的 (301),使客户端能够在后续请求中升级到 HTTPS。

    还有其他更好的方法来实现我想要的吗?

    还有其他方法。是否“更好”取决于您的具体用例。几乎可以在应用程序的任何层执行重定向。如果您没有做任何特别有用的事情,除了将不安全重定向到安全之外,那么最好尽快完成(例如负载均衡器)。为最终重定向的不安全请求提供服务将消耗不必要的资源(连接、内存等),因此最好避免。

    【讨论】:

      猜你喜欢
      • 2023-03-13
      • 2021-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-10
      • 2018-02-14
      • 2018-07-22
      • 1970-01-01
      相关资源
      最近更新 更多