Chrome 浏览器将我所有的域和子域请求重定向到 HTTPS,在我的情况下这是不需要的行为。 根据 https://www.chromium.org/hsts,这是 HSTS 策略已添加到 Chrome 浏览器的域和所有子域中。
我使用的是 Istio 版本 1.7.4,并注意到 Istio 入口网关添加了导致此问题的标头 strict-transport-security。
strict-transport-security: max-age=15552000; includeSubDomains
如何从入口网关中删除此标头?
答案 0 :(得分:1)
您可以使用 VirtualService
添加或删除某些标题。
官方 Istio
文档中的示例展示了如何删除它:
当 Envoy
将请求转发到目标服务或从目标服务转发响应时,可以操纵消息头。可以为特定路由目的地或所有目的地指定标头操作规则。以下 VirtualService
向路由到任何评论服务目标的请求添加了一个值为 true 的测试标头。它还删除了 foo
响应标头,但仅限于来自评论服务的 v1
子集(版本)的响应。
v1alpha3
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: reviews-route
spec:
hosts:
- reviews.prod.svc.cluster.local
http:
- headers:
request:
set:
test: true
route:
- destination:
host: reviews.prod.svc.cluster.local
subset: v2
weight: 25
- destination:
host: reviews.prod.svc.cluster.local
subset: v1
headers:
response:
remove:
- foo # <-- HERE!
weight: 75
其他资源: