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
MAINTENANT, j'ai créé une entrée: p> quand je vais obtenir http://my.server.name/nr Je vois que des pièces travaillant, voir la capture d'écran: p>
3 Réponses :
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. P>
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
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
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
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