gpt4 book ai didi

java - Apache Http Client 4.5.2 Kerberos 身份验证耗时过长

转载 作者:行者123 更新时间:2023-11-30 10:41:47 26 4
gpt4 key购买 nike

我使用 apache http 客户端进行 Kerberos 身份验证。我有以下问题:在 401 广告和来自服务器的 200 响应之间需要 90 到 300 秒,具体取决于请求。

我尝试设置连接超时、套接字超时和连接管理器超时,但没有任何结果。

Wireshark 告诉我以下内容:

服务器 401 响应后:

client -> ACK
server -> FIN, ACK
client -> ACK

-- break between 90 to 300 seconds --

client -> GET url
server -> RST

从这里开始 200 响应,一切正常。我不明白为什么 apache http 客户端不关闭连接并重新打开一个新连接,为什么需要这么长时间?

如有任何帮助,我们将不胜感激。

更新:有更多的 KDC 服务器,并不是每个人都可用,延迟的原因是 max_retries 3,每个请求超时 30 秒。我尝试配置 krb5.conf 文件,但 Kerberos 似乎没有考虑这一点:

[libdefaults]
...
kdc_timeout = 2000
max_retries = 1

最佳答案

我启用了 Kerberos-Logging(将 System.out 和 System.err 重定向到文件中)- 并发现并非所有 KDC 都响应我的客户端,因此未响应的 KDC 将响应延迟了 30 秒。 x 3 次尝试 = 90 秒。根据未响应的 KDC。

在配置文件中设置解决:

最大重试次数 = 1
kdc_timeout = 1500(毫秒)

更新:Kerberos 配置文件的路径是 URI 格式,这不起作用,所以我使用绝对路径。

关于java - Apache Http Client 4.5.2 Kerberos 身份验证耗时过长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38385094/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com