クラスタへのJava apiアクセス(Kerberos認証が通らない)
2022-02-14 16:30:23
<未定義
ローカル環境からクラスタへのアクセスOK
本番環境ではエラーが報告される
ログメッセージを調べてみると、Kerberos認証時のドメイン解決に問題があるのか!?
そこで、試しにローカルのJavaアクセスクラスタのコードをIPに変更してみたところ、エラーが報告されました
Caused by: org.ietf.jgss.GSSException: No valid credentials provided (Mechanism level: Server not found in Kerberos database (7) - LOOKING_UP_ SERVER)
at sun.security.jgss.krb5.Krb5Context.initSecContext(Krb5Context.java:770)
at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:248)
at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:179)
at com.sun.security.sasl.gsskerb.GssKrb5Client.evaluateChallenge(GssKrb5Client.java:192)
... 90 common frames omitted
Caused by: sun.security.krb5.KrbException: Server not found in Kerberos database (7) - LOOKING_UP_SERVER
at sun.security.krb5.KrbTgsRep.<init>(KrbTgsRep.java:73)
at sun.security.krb5.KrbTgsReq.getReply(KrbTgsReq.java:251)
at sun.security.krb5.KrbTgsReq.sendAndGetCreds(KrbTgsReq.java:262)
at sun.security.krb5.internal.CredentialsUtil.serveCreds(CredentialsUtil.java:308)
at sun.security.krb5.internal.CredentialsUtil.acquireServiceCreds(CredentialsUtil.java:126)
at sun.security.krb5.Credentials.acquireServiceCreds(Credentials.java:458)
at sun.security.jgss.krb5.Krb5Context.initSecContext(Krb5Context.java:693)
... 93 common frames omitted
Caused by: sun.security.krb5.Asn1Exception: Identifier doesn't match expected value (906)
at sun.security.krb5.internal.KDCRep.init(KDCRep.java:140)
at sun.security.krb5.internal.TGSRep.init(TGSRep.java:65)
at sun.security.krb5.internal.TGSRep.<init>(TGSRep.java:60)
at sun.security.krb5.KrbTgsRep.<init>(KrbTgsRep.java:55)
... 99 common frames omitted
ローカルでIPに直接アクセスするとKerberos認証は機能しないが、ドメイン名に変更すると機能する
(ホストマッピングはローカルで設定します)
2日間のトラブルシューティングの後、ようやく問題が見つかりました。
本番環境のkrb5.confファイルに、dnsアクセスをオフにする設定があります。つまり、クラスタはホストを通して直接通信し、DNSサーバーを使用しないのですか!
pingも通るし、IPやドメイン名の解決エラーもないはずなので、クラスタの構成に問題があるのかなと思いました。
解決方法
本番環境用のIPとドメインのマッピングを設定するだけです。
授業後の課題です。
#Local domain name resolution
/etc/host.conf
#DNS servers
/etc/resolv.conf
#Local or DNS priority
/etc/nsswitch.conf
関連
-
Build Record 2-CSS file not loaded-Solved-Resource interpreted as Stylesheet but transferred with MIME type text/plain
-
ValueError: 入力配列を形状(*,*)から形状(*)にブロードキャストできなかった。
-
fatal: リモートが見つからなかった refs/heads/cm-13.0
-
java introduces package error この行のマーカーは複数あります。
-
pythonのpandas_datareaderパッケージの紹介
-
解決済み npm i -S express npm notice が package-lock.json としてロックファイルを作成しました。このファイルをコミットする必要があります。
-
PL/SQL使用時にORA-06550エラーが発生しました。
-
OSError: [Errno 98] アドレスはすでに使用中です(エラーは解決されました)
-
eclipseでプロジェクトを追加する すでにワークスペースに存在するため、インポートできないプロジェクトがある
-
python :TypeError: 'builtin_function_or_method' オブジェクトに '__getitem__' 属性がない。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
非静的フィールドへの静的参照はできない
-
解決策:gpg: Can't check signature: public key not found エラーが発生しました。
-
X-Frame-Options'を'SAMEORIGIN'に設定しているため、フレーム内での表示を拒否された。
-
2013 - 「初期通信パケットの読み込み」で MySQL サーバーへの接続が失われ、システムエラーが発生しました。0
-
ModuleNotFoundError: scipy'という名前のモジュールがない ソリューション
-
アプリケーションのPagerAdapterがPagerAdapter#notifyDatを呼び出さずにアダプタの内容を変更しました。
-
は属性_TensorLikeを持たない
-
リクエストの処理中に処理されない例外が発生した
-
javaHow to create array whose elements are type ArrayList?
-
オブジェクト[1]からnilオブジェクトを挿入しようとしました' Error