web-dev-qa-db-ja.com

Kerberos-TCPクライアントは1195725856バイトを必要とし、上限は1048572です

このエラーのデバッグに問題があります。 SPNEGOメソッドを使用してエンドポイントが呼び出されるたびに、Kerberosへのサブリクエストを行うように構築されたAPIゲートウェイとしてnginxを実行しています。しかし、ヘッダーにTGSチケッ​​トを含めてリクエストを行おうとすると、エラーTCP client 192.168.112.4.51658 wants 1195725856 bytes, cap is 1048572が発生し、接続が閉じます。

printf "\xff\xff\xff\xff" | netcat krb_address 88を試しましたが、上記のエラーが発生し、\ xffのインスタンスが削除されてもエラーは発生しません。

私が理解するのに苦労しているのは:

  1. 上限の制約を破っているKerberosに送信されるメッセージは正確には何ですか?
  2. 上限要件を満たすには、どのような構成変更を行う必要がありますか?

私はこれまでnginxとkerberosを使ったことがないので、基本以外に尋ねることができるより良い質問がわからない。

このエラーの以前の経験への洞察、またはエラーの原因についての洞察をさらに明らかにするために使用できるいくつかの追加のテクニックをいただければ幸いです。

1
Kenpachi

これはプロトコルの不一致です。 Kerberosサーバーが他の何かを期待しているときに、ある時点でHTTP要求を送信しています。

ここでの景品は、エラー1195725856に示されている数値です。16進数に変換すると、47 45 5420になります。ASCIIに変換すると、GET、スペース、またはHTTPGET要求の最初の4文字。それが偶然ではないでしょう。

私はKerberosにあまり詳しくありませんが、少し調査したところ、考えられる原因の1つは、 kdc サービスの--enable-httpオプションを省略した可能性があることです。

1
Harry Johnston