0
votes

KubeNettes Ingress a besoin de paramètres de proxy inverse

Dans mon cluster de Kubettes, j'ai des défis avec l'entrée. Comme l'exemple, j'ai installé une nodouil et une entrée Nginx via Helm. Nodered est disponible via


0 commentaires

3 Réponses :


0
votes

On dirait que votre contenu statique utilise toujours le préfixe du chemin racine, vous pouvez vérifier que l'utilisation de la console de développeur de navigateur. Les applications communes doivent avoir une configuration pour comprendre qu'ils fonctionnent sur le préfixe de chemin de root. Vous devriez trouver cette option de configuration dans votre application et la configurer correctement. Nginx Ingress n'a rien à voir avec cette erreur.


3 commentaires

hm .. mais quand j'ai configuré une configuration nginx comme cet emplacement / {proxy_pass localhost: 1880 ; } ça fonctionne. Ma question était de savoir comment faire cela à Kubettes


Parce que vous spécifiez le préfixe de chemin racine (emplacement /). En ingress, vous spécifiez le préfixe de chemin de root (/ NR), voir la différence?


Oui, je vois la différence, mais malheureusement cela ne résout pas mon problème



1
votes

Je ne l'ai pas utilisé, je ne suis pas sûr que je ne suis pas sûr si cela aide, mais vous voudrez peut-être essayer d'ajouter une annotation pour Redirection de proxy .

avec les annotations nginx.ingress.kubernettes.io/proxy-redirec-de code> et nginx.ingress.kubernettes.io/proxy-redirect-o code> c'est possible Pour définir le texte qui doit être modifié dans le code> Emplacement CODE> et Actualiser CODE> Domes d'en-tête d'un Réponse du serveur proximité P>

Réglage "OFF" ou "Par défaut" dans l'annotation nginx.ingress.kubernettes.io/proxy-redirec-de code> désactive nginx.ingress.kubernettes.io/proxy-redirect- CODE>, sinon, les deux annotations doivent être utilisées à l'unisson. Notez que chaque annotation doit être une chaîne sans espaces. P>

Par défaut, la valeur de chaque annotation est "OFF". P> blockQuote>

Aussi vous pouvez utiliser configmap pour personnaliser votre configuration nginx. p> xxx pré>

ou SERVER-SNIPPETS CODE> Annotation pour votre entrée code>: P>

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: nr-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
    nginx.ingress.kubernetes.io/server-snippet: |
      location = / {       
        proxy_pass http://localhost:1880/;
      }
spec:
  tls:
  - secretName: tls-secret1
    hosts:
    - my.server.name
  rules:
  - host: my.server.name
    http:
      paths:
      - path: /nr
        backend:
          serviceName: my-nodered-node-red
          servicePort: 1880


3 commentaires

Salut, malheureusement pas. J'ai essayé ça, mais merci pour votre aide. Peut-être que j'aurai une chance chanceux dans les prochains jours :-)


@Mchoeti, cela devrait fonctionner comme indiqué sur la documentation Nginx. Avez-vous des erreurs ou cela ne fonctionne-t-il pas? Peut-être que c'est comme Vasily Angapov.


Recherche une solution de proxy_pass simple, la deuxième solution a bien fonctionné. N'a même pas besoin d'essayer le premier. Merci



0
votes

Peut-être trop tard pour la réponse, mais j'avais le même problème et je l'ai résolu:

1-changé HTTProceau: '/ NR' dans le fichier de configuration rouge rouge.xml (dans KubeNettes, probablement définie dans un PV) (@ Vasili-angapov mentionne) p>

Inlauche 2- Set: P>

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: nodered-ingress
  annotations:
    kubernetes.io/ingress.class: "nginx"
spec:
  rules:
    - http:
        paths:
          - path: /nr
            pathType: Prefix
            backend:
              service:
                name: nodered
                port:
                  number: 1880


0 commentaires