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
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.