es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El ingressroute de Traefik devuelve un error 404 – no encontrado.

Estoy utilizando el controlador de ingreso Traefik. Cuando solicito a mi dominio `https://harbor.domain.com/`, devuelve un error 404 no encontrado. ¿Qué está mal con mi IngressRoute?

apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: harbor
  namespace: harbor
spec:
  entryPoints:
    - web
    - websecure
  routes:
    - kind: Rule
      match: Host(`harbor.domain.com`) && (PathPrefix(`/api`) || PathPrefix(`/service`) || PathPrefix(`/v2`) || PathPrefix(`/chartrepo`) || PathPrefix(`/c`))
      services:
        - kind: Service
          name: harbor-portal
          namespace: harbor
          port: 80
          scheme: https
    - kind: Rule
      match: Host(`notary.domain.com`)
      services:
        - kind: Service
          name: harbor-notary-server
          namespace: harbor
          port: 4443
          scheme: https
  tls:
    secretName: harbor.domain.com

El archivo de secreto existe y fue creado por el emisor del clúster.
Estos son mis servicios en el espacio de nombres de Harbor:
Servicios para el espacio de nombres de Harbor

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Según la configuración de IngressRoute y la información del servicio proporcionada, parece que el problema podría estar en el puerto de servicio definido en el IngressRoute. La configuración especifica que el tráfico que coincida con el host “harbor.domain.com” debe enviarse al servicio “harbor-portal” en el puerto 80 con el esquema HTTPS. Sin embargo, según los servicios enumerados en el espacio de nombres “harbor”, parece que el servicio “harbor-portal” se está ejecutando en el puerto 80 con el esquema HTTP.

    Para solucionar el problema, intente actualizar la definición del servicio “harbor-portal” para utilizar el esquema HTTPS en el puerto 443 en lugar de HTTP en el puerto 80. Alternativamente, se puede actualizar la configuración de IngressRoute para utilizar el esquema HTTP en lugar de HTTPS, según los requisitos de la aplicación.

    Una vez que se haya actualizado la configuración del servicio, aplique los cambios y verifique si el dominio “https://harbor.domain.com/” devuelve la respuesta esperada.

Comments are closed.