配置 HTTP¶
HTTPS 重定向¶
操作员可以强制所有服务进行 HTTPS 重定向。有关更多详细信息,请参阅配置外部域加密页面中提到的 http-protocol。
覆盖默认 HTTP 行为¶
您可以覆盖每个服务或全局配置的默认行为。
- 全局键:
http-protocol - 按修订注解键:
networking.knative.dev/http-protocol - 可能的值
enabled— 服务接受 HTTP 流量。redirected— 服务为所有 HTTP 连接发送 301 重定向,并要求客户端改用 HTTPS。
- 默认:
enabled
示例
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
name: example
namespace: default
annotations:
networking.knative.dev/http-protocol: "redirected"
spec:
...
apiVersion: v1
kind: ConfigMap
metadata:
name: config-network
namespace: knative-serving
data:
http-protocol: "redirected"
apiVersion: operator.knative.dev/v1alpha1
kind: KnativeServing
metadata:
name: knative-serving
spec:
config:
network:
http-protocol: "redirected"
每个工作负载的 HTTP/1 全双工支持¶
Knative 服务可以开启数据路径上端到端的 HTTP/1 全双工支持。这应该用于遇到相关 Golang 问题的场景,例如应用程序服务器在 QP 的反向代理消耗完整个请求之前就写回。有关问题出现原因的更多详细信息,请参阅此处。
配置 HTTP/1 全双工支持¶
为了启用 HTTP/1 全双工支持,您可以在修订规范级别设置相应的注解,如下所示
警告
在启用之前,请使用您的 http 客户端进行测试,因为较旧的客户端可能不支持 HTTP/1 全双工。
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
name: example-service
namespace: default
spec:
template:
metadata:
annotations:
features.knative.dev/http-full-duplex: "Enabled"
...