启用到达端点404错误代码-已部署的应用程序



我在云中部署我的应用程序,在03个pod上的集群内:

  1. one pod: backend - Quarkus
  2. one pod: frontend - Angular
  3. 一个pod: DB - Postgres

后端有03个端点:

  1. 一个端点:GraphQL
  2. 两个端点:Rest

pod是暴露的

后端:
  1. ClusterIp
  2. DB: ClusterIp
  3. 前端:NodePort

我有一个Ngnix web服务器&02入境舱单;一个用于后端,另一个用于前端:

1 - backend-ingress:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: mcs-thirdparty-back-ingress
namespace: namespace
annotations:
nginx.ingress.kubernetes.io/use-regex: "true"
spec:
ingressClassName: nginx-internal
rules:
- host: backend.exemple.com
http:
paths:
- path: /
backend:
service:
name: mcs-thirdparty-backend
port:
number: 8080
pathType: Prefix

2 - frontend-ingress:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: mcs-thirdparty-ingress
namespace: namespace
spec:
ingressClassName: nginx-internal
rules:
- host: bilels.exemple.com
http:
paths:
- path: /
backend:
service:
name: mcs-thirdparty-frontend
port:
number: 80
pathType: Prefix

对于GraphQL端点/请求;前端可以正确地与后端通信并获取所需的数据。当我运行POST请求从服务器(Rest Endpoint)获取accessToken时,我收到404错误代码。

错误截图在这里

我试图在后端入口清单中添加一些更改,但总是404- path: /(.*)- path: /*- path: /response

我认为我在Ryan Dawson的帮助下成功地制作了另一种诊断方法。我对后端pod和来自本地的请求进行了PortForaward,然后我发现有一个500错误代码—>这意味着请求与api需求不匹配:在前端,我发送了错误的上下文类型。

——比;因此,入口配置已经处于良好状态。

您的后端应用程序是否可能在端口8080上提供服务?

如果这是真的,您应该访问backend.exemple.com:8080/response,假设response是您所配置的路径的名称。

启用swagger-ui测试

您可以在quarkus应用程序上启用swagger-ui,以确保您的端点。

要做到这一点,您必须将此添加到您的pom.xml:
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-smallrye-openapi</artifactId>
</dependency>

在你的application.properties上设置这个(当你不在开发模式下运行时能够访问swagger-ui):

# If this should be included every time. By default this is only included when the application is running in dev mode.
quarkus.swagger-ui.always-include=true

完成后,您可以在:your-path:your-port-number/q/swagger-ui访问swagger-ui,就像backend.exemple.com:8080/q/swagger-ui

一样

最新更新