You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenShift Ingress为何不支持Router注解?如何配置非安全边缘终止策略?

在OpenShift HAProxy路由器中取消HTTP自动重定向到HTTPS的方案

首先明确:OpenShift原生的Route资源完全支持insecureEdgeTerminationPolicy配置,默认的HAProxy路由器也完全兼容这个字段,你不需要用补丁,直接修改现有Route的配置就能解决问题,这就是最优方案。

核心修改点

你当前的Route配置里,tls.insecureEdgeTerminationPolicy设置为Redirect,这正是导致HTTP请求自动重定向到HTTPS的原因。你只需要把这个值改成以下两个选项之一:

  • Allow:允许HTTP请求直接访问服务,不会重定向到HTTPS
  • None:拒绝所有HTTP请求(返回403或类似错误),只保留HTTPS访问

修改后的完整Route配置

kind: Route
apiVersion: route.openshift.io/v1
labels:
  app.kubernetes.io/name: app-web
spec:
  host: apptest.dev
  path: /
  to:
    kind: Service
    name: service
    weight: 100
  port:
    targetPort: tcp-8080
  tls:
    termination: edge
    insecureEdgeTerminationPolicy: Allow  # 这里改成Allow,取消重定向
  wildcardPolicy: None

关于Ingress和Route的说明

你提到的Nginx Ingress的配置逻辑和OpenShift的Route不同:

  • K8s标准Ingress没有insecureEdgeTerminationPolicy这个字段,Nginx Ingress是通过注解nginx.ingress.kubernetes.io/ssl-redirect: "false"来关闭重定向的
  • OpenShift默认用Route资源作为服务暴露的原生方式,即使你创建了K8s Ingress,OpenShift也会自动生成对应的Route,但直接使用Route资源能更精准地控制HAProxy的行为,不需要绕Ingress的自动转换

应用修改的方法

直接用oc apply命令更新你的Route配置即可:

oc apply -f your-updated-route.yaml

或者用oc patch命令快速修改(如果不想写完整YAML):

oc patch route app-web --type='json' -p='[{"op": "replace", "path": "/spec/tls/insecureEdgeTerminationPolicy", "value": "Allow"}]'

内容的提问来源于stack exchange,提问作者Mr. E

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 09:32:11