2017-12-01 4 views
0

私は、アプリケーションへのアクセスを認証するためにauth-urlとauth-signinアノテーションを使用しています。問題は、auth-urlで定義されたURLへのリクエストは、常にHTTP/1.0で行われ、HTTP/1.1では期待通りに行われないということです。ログからは、他のすべての要求がHTTP/1.1で完了していることがわかります。ingress.kubernetes.io/auth-urlで定義されたURLへのリクエストはHTTP/1.0で行われます。

使用バージョン:nginxの入コントローラ:0.9.0-beta.19 ELBから

ログ:

2017-11-30T14:28:30.606436Z dev-sandbox-2cb4 201.137.96.59:58692 10.10.0.101:80 0.000044 0.031215 0.000039 302 302 0 154 "GET https://example.net:443/testing/ HTTP/1.1" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36" ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 
2017-11-30T14:28:30.623944Z dev-sandbox-2cb4 24.134.104.23:40704 10.10.7.144:80 0.000029 0.01263 0.000068 401 401 0 21 "GET https://example.net:443/oauth2/auth HTTP/1.0" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36" ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 
2017-11-30T14:28:30.699239Z dev-sandbox-2cb4 201.137.96.59:58692 10.10.3.6:80 0.000028 0.001223 0.000046 302 302 0 395 "GET https://example.net:443/oauth2/start?rd=https://example.net/testing/ HTTP/1.1" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36" ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 

注釈:

annotations: 
    ingress.kubernetes.io/auth-url: "https://$host/oauth2/auth" 
    ingress.kubernetes.io/auth-signin: "https://$host/oauth2/start" 

問題は、その環境であります私は1.1を使用する必要があります許可されています。

これは予期されることですか、何か間違っていますか?

答えて

0

問題はnginxの進入テンプレートにlocation = {{ $authPath }}ブロックの下

proxy_http_version   1.1; 

を追加することによって解決することができます。

https://github.com/kubernetes/ingress-nginx/pull/1787を参照してください。

関連する問題