我在 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)
type: LoadBalancer
您的服务有误。这是不需要的:您的服务仅用于内部集群流量。尝试删除它。它似乎也没有正确缩进,但我希望这只是一个副本和过去的错误。
externalTrafficPolicy
也显得不协调。这个想法是让路由处理所有外部流量并路由到服务。也删除它。