がMinikubeでの実行が期待通りに動作していない、私持っている必要がバックエンドでは、次の入力、:K8S nginxの進入書き換え対象の注釈は
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: my-ingress
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/rewrite-target:/
spec:
rules:
- http:
paths:
- path: /config/
backend:
serviceName: api-gateway
servicePort: web
意図は、パスを期待ゲートウェイのWeb UIを提供することです/
になります。それ以外の場合は、論理パスであるとみなされ、要求を正しいマイクロサービスに転送しようとします。
パスの書き換えが期待通りに機能していません。 /config/
を/
に置き換えません。私は誤解してthe exampleですか? nginxのコントローラのログに
私は、以下を参照してください/config
の要求は/config/
に書き換え、私は/config
に書き換えるにはどうすればよい404
が生じてしまったことを私に言っています
192.168.99.1 - [192.168.99.1] - - [13/Dec/2017:08:54:11 +0000] "GET /config HTTP/1.1" 301 185 "-" "curl/7.55.1" 78 0.000 [-] - - - -
192.168.99.1 - [192.168.99.1] - - [13/Dec/2017:08:54:11 +0000] "GET /config/ HTTP/1.1" 404 154 "-" "curl/7.55.1" 79 0.010 [dev-api-gateway-web] 172.17.0.10:8080 143 0.010 404
/
?
私はそうかもしれませんが。 '/ config'を書き換えターゲットとして置いた場合、'/config'を含まないリクエストはどうなりますか?たとえば、 '/ api'に対するルールとバックエンドを持っていると仮定すると、'/api'のリクエストですか? –
Ingressに書き換え対象が1つしかないため、別のIngressが必要です。しかし、同じホストに対して複数のIngressを持つことはできますが、それは問題ありません。 –
書き換えパス(例: '/ config')が'/'に置き換えられた後、書き換えられたリクエストパスに従ってイングレスのルールが適用されるとは言いませんか? –