最近、nlb で問題が発生しています。lb で https 終端を使用して nlb をリダイレクト http=>https と EKS で ingress-nginx を使用して動作させるのは、かなりの冒険でした。
ここで、X-Forwarded ヘッダーをポッドに渡したいのですが、それによって http=>https リダイレクトが中断され、http 要求で 400 が返されます。
サービスで、httpまたはtcpプロトコルでサービスを配置しようとしましたが、同じです。
サービスにヘッダーを追加するservice.beta.kubernetes.io/aws-load-balancer-proxy-protocol: "*"
と、すべてのターゲットでプロキシ プロトコル v2 がアクティブuse-proxy-protocol: 'true'
になり、nginx の configmap でアクティブ化すると、http スニペットが 308 リダイレクトで壊れます。
http-snippet: |
server {
listen 2443;
return 308 https://$host$request_uri;
}
すべての適切なヘッダーとリダイレクトが機能する nlb を使用できるようにする方法はありますか?
コメント要求で編集して、完全な作業構成を追加します
apiVersion: v1
kind: ConfigMap
metadata:
labels:
app.kubernetes.io/version: 0.41.0
app.kubernetes.io/component: controller
name: ingress-nginx-controller
data:
http-snippet: |
server {
listen 2443 proxy_protocol;
return 308 https://$host$request_uri;
}
proxy-real-ip-cidr: 10.4.0.0/16
use-forwarded-headers: 'true'
use-proxy-protocol: 'true'
compute-full-forwarded-for: 'true'