【发布时间】:2015-10-22 03:47:51
【问题描述】:
我正在尝试在远程服务器上安装 AEM/CQ5 zip 包并收到授权错误(我很确定我输入了正确的凭据)。 此外,curl 命令也可以正常工作:
curl -u : -F package=@-0.0.1-SNAPSHOT.zip http://:/crx/packmgr/service.jsp/?cmd=upload -vvvv * 即将 connect() 到端口 4502 (#0) * 试 ... * 连接到 () 端口 4502 (#0) * 使用 Basic 和用户进行服务器身份验证
POST /crx/packmgr/service.jsp/?cmd=上传 HTTP/1.1 授权:基本 c2hhcmFkLmthcG9vcjpDb29raWVKYXIyMw== 用户代理:curl/7.29.0 主持人: 接受:/ 内容长度:10496181 期望:100-继续 内容类型:multipart/form-data;边界=----------------------------68858f7271d6
回应
{"success":true,"msg":"包上传
失败的是从 Jenkins 服务器构建 Maven。
这是我的 pom 设置:
<plugin>
<groupId>com.day.jcr.vault</groupId>
<artifactId>content-package-maven-plugin</artifactId>
<version>0.0.24</version>
<configuration>
<targetURL>http://${aem.host}:${aem.port}/crx/packmgr/service.jsp</targetURL>
<failOnError>true</failOnError>
<failOnMissingEmbed>true</failOnMissingEmbed>
<useProxy>false</useProxy>
</configuration>
</plugin>
还有错误
[DEBUG] 设置参数 http.authentication.preemptive = true [DEBUG] 代理禁用(useProxy=false)或未配置代理 [DEBUG] 设置参数 http.connection.timeout = 30000 [DEBUG] 抢先发送默认基本凭据 [DEBUG] 使用 BASIC @ 进行身份验证: [DEBUG] 未配置凭据字符集,使用 HTTP 元素字符集 [DEBUG] 打开连接到: [调试] >> “发布 /crx/packmgr/service.jsp HTTP/1.1[\r][\n]” [DEBUG] 添加 Host 请求头 [DEBUG] >> "referer: about:blank[\r][\n]" [调试] >> “授权:基本 YWRtaW46YWRtaW4=[\r][\n]” [调试] >> “用户代理:Jakarta Commons-HttpClient/3.1[\r][\n]” [调试] >> “主机:52.64.163.101:4502[\r][\n]” [DEBUG] >>“期望:100-继续[\r][\n]” [调试] >>“内容长度:10503730[\r][\n]” [调试] >>“内容类型:多部分/表单数据;边界=OpvAWdZ1OTJ_Xp9nZf9aKRDiC7BQTkw8NvdSNd[\r][\n]” [调试] >> "[\r][\n]" [调试] [错误] 对 http://:/crx/packmgr/service.jsp 的请求失败,response=Unauthorized [DEBUG] 应关闭连接以响应指令:关闭 [DEBUG] 将连接释放回连接管理器。
我认为 http.authentication.preemptive = true 导致了问题。 有什么方法可以将其设置为 false。 我使用了 Jenkins 环境变量,我认为我们没有任何 com.day.jcr.vault 的配置参数。
关于如何将其设置为 false 的任何想法或解决此问题的任何其他建议。
谢谢
【问题讨论】: