【问题标题】:Not secure HttpServletRequest getURI google cloud不安全 HttpServletRequest getURI 谷歌云
【发布时间】:2021-01-24 08:03:14
【问题描述】:

我们正在使用 Auth0 集成来为我们的 Spring Boot 应用程序提供身份验证。 在 google cloud run 中使用 docker 部署了一个应用程序。

但是当我尝试交换令牌时,我收到来自 auth0 的错误“预期 https://.. 但转到 http://。” 发生这种情况的原因是 httpServletReuqest.getRequestURI() 返回 http 而不是 https。

问题是为什么我们的网站在云运行中部署为https时getRequestURI返回http? 我还记录了 nginx 标头和 X-Forwarded-Proto = https。

【问题讨论】:

  • 我认为这是由于负载平衡器terminating TLS 在请求到达您的应用程序之前发生的。
  • 但是有没有办法让它不终止 TLS?
  • 还没有。 Cloud Run 部署在负责 TLS 通信的 GFE(Google 前端)后面。

标签: spring-boot servlets google-cloud-platform google-cloud-run


【解决方案1】:

发布为社区 Wiki,因为它基于 @EmilGi 和 @GuillaumeBlaquiere 的 cmets。

正如您在documentation 中看到的:

Cloud Run 会将所有 HTTP 请求重定向到 HTTPS,但会在 TLS 到达您的 Web 服务之前终止它们。如果您的服务生成的 Web 资源引用具有不安全 URL (http://) 的其他 Web 资源,您的页面可能会出现混合内容警告或错误。

而且您无法关闭此限制,因为 Cloud Run 部署在负责 TLS 通信的 GFE(Google 前端)后面。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-04
    • 2019-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-10
    • 1970-01-01
    相关资源
    最近更新 更多