我正在检查为 UI 提供服务的 Http 端点启用的严格传输 header
。
让 GRPC 服务中的 header 不暴露于互联网或直接向 UI 提供服务是否有意义?
如果是这样,如何为 GRPC 服务启用严格传输 header ?
我已经看到 Grpc trailing-metadata
header 可以与响应一起发送。
但这是添加标题的正确方法吗?
这些服务是用 Go 编写的,我使用的是 GRPC。
最佳答案
HTTP 严格传输安全 (HSTS) 仅在客户端也支持时才有用。 gRPC 客户端不这样做,因此添加此类 header 不会增加任何值(value)。
如果客户端不支持,HSTS 就没有用,因为 header 只说“您只能通过 HTTPS 访问此资源”,但如果客户端忽略这一点,它可以继续使用纯 HTTP请求(假设服务器同时支持 HTTP 和 HTTPS)。
此外,HSTS 仅在客户端至少访问一次资源并记住当时收到的 header 之后才起作用。对于大多数服务器到服务器的通信来说,情况并非如此。
如果您想确保进出 gRPC 服务和客户端的数据经过加密,您可以使用 SSL/TLS,如 https://grpc.io/docs/guides/auth/#using-client-side-ssltls 所示。 .
关于go - 如何为 GRPC 服务设置 Strict-Transport-Header,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70899134/