问题描述
在尝试执行 MarkLogic 数据中心升级时,我无法让 gradle 从代理后面访问互联网。
./gradlew hubUpgrade -i
给出输出:
Configure project :
Evaluating root project ‘data-hub’ using build file ‘/data-hub/build.gradle’.
NEGOTIATE authentication error: Invalid name provided (Mechanism level: KrbException: Cannot locate default realm)
Resource missing. [HTTP HEAD: http://developer.marklogic.com/maven2/gradle/plugin/com/marklogic/ml-data-hub/4.3.2/ml-data-hub-4.3.2.pom]
NEGOTIATE authentication error: Invalid name provided (Mechanism level: KrbException: Cannot locate default realm)
NEGOTIATE authentication error: Invalid name provided (Mechanism level: KrbException: Cannot locate default realm)
Failed to get resource: HEAD. [HTTP HTTP/1.1 403 Forbidden: http://developer.marklogic.com/maven2/gradle/plugin/com/marklogic/ml-data-hub/4.3.2/ml-data-hub-4.3.2.jar]
Resource missing. [HTTP HEAD: http://developer.marklogic.com/maven2/gradle/plugin/com/marklogic/ml-data-hub/4.3.2/ml-data-hub-4.3.2.pom]
NEGOTIATE authentication error: Invalid name provided (Mechanism level: KrbException: Cannot locate default realm)
Failed to get resource: HEAD. [HTTP HTTP/1.1 403 Forbidden: http://developer.marklogic.com/maven2/gradle/plugin/com/marklogic/ml-data-hub/4.3.2/ml-data-hub-4.3.2.jar]
FAILURE: Build Failed with an exception.
What went wrong:
org/gradle/api/internal/CollectionCallbackActionDecorator
org.gradle.api.internal.CollectionCallbackActionDecorator
到目前为止我所做的:
在 Redhat 7.6 linux 上运行,安装了 gradle 4.10 并测试它工作正常 按照安装说明设置 gradle。 在 gradle.properties 中设置代理设置 - 见下文:
systemProp.http.proxyHost=< full qualified web proxy address >
systemProp.http.proxyPort=< port >
systemProp.http.proxyUser= <windows_domain>/<windows_username>
systemProp.http.proxyPassword= < pw >
systemProp.http.nonProxyHosts=localhost
systemProp.https.proxyHost=< full qualified web proxy address >
systemProp.https.proxyPort=< port >
systemProp.https.proxyUser=<windows_domain>/<windows_username>
systemProp.https.proxyPassword=< pw >
systemProp.https.nonProxyHosts=localhost
我也试过从命令行使用 -D 参数,但没有任何乐趣。
我已经能够在同一个 linux 用户会话中运行 firefox 并连接到互联网,输入我的用户名和密码,然后就可以正常上网了。
我们正在使用旧版本的 Gradle ( 4.10 ),因为这是我们生产系统上的当前版本,并且不确定使用更高版本的 Gradle 进行升级是否安全,或者更高版本的 Gradle 是否会修复此问题问题。
我尝试了不同的用户名等和 / 和 \ 和引号等组合,但没有工作。
非常感谢任何帮助......
解决方法
这不太可能是 MarkLogic 或 Gradle 问题,更有可能是 Kerberos 无法将您的代理主机解析为 /etc/krb5.conf 配置文件中的有效地址。您需要检查您的 Kerberos 配置是否已设置为根据代理服务器地址为域提供服务。
[domain_realm]
.marklogic.local = MARKLOGIC.LOCAL
ad.marklogic.local = MARKLOGIC.LOCAL
.localdomain = MWCA.LOCALDOMAIN