📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

版本: 6.8-8.9

简而言之,当 Elasticsearch 配置使用 Azure 作为存储服务,但没有为 Azure 定义代理主机或端口时,就会出现此错误。这是 Elasticsearch 与 Azure 进行通信所必需的。要解决此问题,你可以在 Elasticsearch 配置文件中定义代理主机和端口,或者在不需要时禁用代理。此外,还要确保定义的代理主机和端口是可访问且可正常运行的。

日志上下文 #

日志 “Azure Proxy type has been set but proxy host or port is not defined.” 的类名是 AzureStorageSettings.java。 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入了解上下文的人参考:

// Validate proxy settings
 if (proxyType.equals(Proxy.Type.DIRECT) && ((proxyPort != 0) || Strings.hasText(proxyHost))) {
 throw new SettingsException("Azure Proxy port or host have been set but proxy type is not defined.");
 }
 if ((proxyType.equals(Proxy.Type.DIRECT) == false) && ((proxyPort == 0) || Strings.isEmpty(proxyHost))) {
 throw new SettingsException("Azure Proxy type has been set but proxy host or port is not defined.");
 }  if (proxyType.equals(Proxy.Type.DIRECT)) {
 proxy = null;
 } else {