Openshift TLS 边缘终止不适用于 Payara 服务器

问题描述 投票:0回答:1

问题

我在 Payara 社区版服务器(v5.2020.6)中部署了一个 jsf Web 应用程序。 我通过在 openshift 项目中导入部署配置 yaml 将此应用程序部署在 azure openshift 中。我想从浏览器访问此应用程序,因此我配置了一个 openshift 服务来公开由部署配置创建的 pod。我还创建了一个路由,通过选择公开我的应用程序的服务,使应用程序可以通过公共 URL 进行访问。如果我使用带有直通 TLS 终止的安全路由,我可以很好地访问应用程序,这使得我的 Web 应用程序看起来在客户端不安全,因为它使用默认的 payara 证书。因此,我想配置 Edge TLS 终止,使用 openshift 的默认证书,并通过端口 8080 将解密的流量直接发送到 pod,该端口在我的 payara Web 服务器中配置为处理 http 流量。如果可能的话,我不想在 payara 服务器端配置证书。这是我得到的错误:


错误

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

服务

    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

路线

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

Payara服务器

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)

问题

  • 如果我们使用边缘终止,并且解密的流量通过 Pod 传递到 Payara 服务器,那么重定向的原因可能是什么?
  • 如果客户端发出 https 请求,路由器在拦截请求时是否在服务中寻找端口 443,或者是否使用我们在服务路由上配置的任何端口。
  • 对于路由下的不安全流量策略,这是路由器收到传入流量时所做的操作还是针对路由器将流量路由到服务后的流量?
kubernetes ssl routes openshift payara
1个回答
0
投票

type: LoadBalancer
您的服务有误。这是不需要的:您的服务仅用于内部集群流量。尝试删除它。它似乎也没有正确缩进,但我希望这只是一个副本和过去的错误。

externalTrafficPolicy
也显得不协调。这个想法是让路由处理所有外部流量并路由到服务。也删除它。

© www.soinside.com 2019 - 2024. All rights reserved.