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

Openshift TLS Edge终止与Payara Server配合重定向异常排查

问题背景

在Payara社区版(v5.2020.6)上部署了JSF Web应用,通过Deployment Config YAML文件部署到Azure Openshift项目中。配置Openshift Service暴露Deployment Config创建的Pod,同时创建Route实现公网访问:

  • 使用Passthrough TLS终止的安全Route时,应用可正常访问,但客户端显示Payara默认证书,安全性感知不足。
  • 改为Edge TLS终止(使用Openshift默认证书,解密后流量直接发送到Payara处理HTTP请求的8080端口,尽量不在Payara端配置证书)时,出现如下错误:

This page isn’t working
app-domain.ose-dev.com redirected you too many times.
Try deleting your cookies.
ERR_TOO_MANY_REDIRECTS

相关配置

Service配置

apiVersion: v1
kind: Service
metadata:
  name: my-app
spec:
  externalTrafficPolicy: Cluster
  ports:
  - name: http-8080
    port: 8080
    protocol: TCP
    targetPort: 8080
  - name: https-8181
    port: 8181
    protocol: TCP
    targetPort: 8181
  - name: ssl-443
    port: 443
    protocol: TCP
    targetPort: 443
  - name: admin-listener-4848
    port: 4848
    protocol: TCP
    targetPort: 4848
  selector:
    name: my-app
type: LoadBalancer

Route配置

apiVersion: route.openshift.io/v1
kind: Route
metadata:
  name: my-app
spec:
  port:
    targetPort: 8080 
  to:
    kind: Service
    name: my-app

Payara Server配置

http-listener-1 |  enabled and listening on port 8080
http-listener-2 |  enabled, secured and listening on port 8181
ssl-listener    |. enabled, secured and listening on port 443
No redirection from 8080 to any secure port (8181 or 443)

技术疑问解答

1. Edge终止时出现重定向循环的原因

尽管已确认Payara未配置8080到HTTPS端口的显式重定向,仍存在两种核心可能:

  • 请求头触发的隐式重定向:Openshift Edge终止后,会向Payara转发带X-Forwarded-Proto: https的HTTP请求。如果JSF应用的安全约束、Payara的全局安全配置或第三方依赖检测到原始请求为HTTPS,但当前请求协议是HTTP,会自动发起HTTPS重定向;Router收到HTTPS请求后再次解密为HTTP转发,形成循环。
  • Payara listener配置异常:若http-listener-1的secure属性被误设为true,或应用部署描述符中的安全约束要求CONFIDENTIAL传输级别,Payara会强制将HTTP请求重定向到HTTPS端口,引发循环。

2. 客户端HTTPS请求的Router端口选择逻辑

Openshift Router完全遵循**Route配置中指定的targetPort**转发流量,与Service的443端口无关:

  • 客户端发起HTTPS请求到Router后,Router完成Edge TLS终止,会按照Route的targetPort: 8080配置,将解密后的HTTP流量转发到Service的8080端口,最终路由到Pod的8080端口。
  • Service的443端口仅在Route配置为Passthrough TLS终止且明确指向该端口时,才会被Router使用。

3. Route的Insecure Traffic Policy作用范围

该策略仅针对Router接收的入站非TLS(HTTP)流量,控制Router如何处理这类请求:

  • 可选值包括:Allow(直接转发HTTP请求到Service)、Redirect(将HTTP请求重定向到HTTPS)、Disabled(拒绝HTTP请求)。
  • 它不影响Router转发到Service的流量协议和端口,转发规则由Route的port配置单独决定。

内容的提问来源于stack exchange,提问作者Mausam Shrestha

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 12:50:22