spring-boot - GCP 上的 Spring App - Cloud Run - 仅 HTTPS - 主机和端口的这种组合需要 TLS
问题描述
我的 Spring 应用程序使用让加密并且仅是 https。我没有包含 http 到 https 的东西,因为它在邮递员中使用 https:// 格式对我有用
当我部署到 Cloud Run 时,提到了自定义端口(spring 中指定的端口)并使用仪表板中的 URL 进行了测试
https://..blah..run.app
我收到错误/消息
错误请求 主机和端口的这种组合需要 TLS。
Cloud Run 需要什么配置才能解决此问题?
我在服务详细信息页面上看到的 url 有 htpps://...
编辑: 如果 Cloudrun 不需要我处理 SSL,我可以删除应用程序属性条目
server.ssl.key-store-type=PKCS12
server.ssl.key-store=classpath:key/keystore.p12
server.ssl.key-store-password=${lets.secret}
server.ssl.key-alias=someCertAlias
server.ssl.enabled=true
那么我能得到关于是否从 spring 中删除 SSL 的答案吗?如果cloudrun总是使用http,我所有的调用都使用redirectConnector,这似乎毫无意义
解决方案
Cloud Run 服务侦听 HTTP 和 HTTPS。您在容器中运行的应用程序必须侦听仅配置了 HTTP 的端口。
仅供参考:对于面向公众的 Web 服务器,您几乎应该始终启用 HTTP。否则,当用户在浏览器中输入www.example.com时,用户将收到连接错误。并非总是如此,例如.dev gTLD,但这是一种很好的做法。当用户使用 HTTP 协议连接到 Cloud Run 时,Cloud Run 会将用户重定向到 HTTPS 并使用 HTTP 协议连接到您的应用程序。
推荐阅读
- javascript - 根据夏令时更改时区
- json - Symfony 序列化程序不会反序列化 json 日期时间
- spring - 不使用 bean 的 Kotlin 和 spring 验证
- c# - 我如何获取所有 blob 而不仅仅是根目录中的 blob
- linux - 如果写入的值未更改, mmap() 是否会执行写入?
- r - R中带有md5的递归文件列表
- android - 在某些设备上使用 Fresco 进行缓存会导致 OOM
- outlook-calendar - 无法获取 Outlook 日历事件,javascript
- python - 关闭控制台时执行python指令
- javascript - 如何从代码中在迷你图中显示工具提示