在容器中使用 Jsoupbrowser 的代理身份验证问题
Proxy authentication issue using Jsoupbrowser in container
我在尝试在 Docker 中验证我的代理时遇到问题。
我就是这么做的:
Authenticator.setDefault(new Authenticator() {
override def getPasswordAuthentication = new PasswordAuthentication(<USERNAME>, <PASSWORD>.toCharArray)
})
val browser = new JsoupBrowser(ua,proxy) {
override def requestSettings(conn: Connection) = conn.timeout(5000)
}
// Step 1: We __scrape__ the current page.
val doc = browser.get(baseUrl)
它在本地工作,但是当我将它部署到我的服务器上时,出现错误 407
java.io.IOException: Unable to tunnel through proxy. Proxy returns "HTTP/1.1 407 Proxy Authentication Required"
我也试过将配置升级到容器级别,但没有成功。
我找到了解决办法。
问题只出现在部署中,所以我得出结论,问题出在 docker.
的构建上
我在我的 Dockerfile 中添加了这个 JVM 参数:
-Djdk.http.auth.tunneling.disabledSchemes=
到CMD
CMD java -Dhttp.port=${port} -Djdk.http.auth.tunneling.disabledSchemes= -Dplay.crypto.secret=secret $* -jar ./app-assembly.jar
现在有效。
我在尝试在 Docker 中验证我的代理时遇到问题。
我就是这么做的:
Authenticator.setDefault(new Authenticator() {
override def getPasswordAuthentication = new PasswordAuthentication(<USERNAME>, <PASSWORD>.toCharArray)
})
val browser = new JsoupBrowser(ua,proxy) {
override def requestSettings(conn: Connection) = conn.timeout(5000)
}
// Step 1: We __scrape__ the current page.
val doc = browser.get(baseUrl)
它在本地工作,但是当我将它部署到我的服务器上时,出现错误 407
java.io.IOException: Unable to tunnel through proxy. Proxy returns "HTTP/1.1 407 Proxy Authentication Required"
我也试过将配置升级到容器级别,但没有成功。
我找到了解决办法。 问题只出现在部署中,所以我得出结论,问题出在 docker.
的构建上我在我的 Dockerfile 中添加了这个 JVM 参数:
-Djdk.http.auth.tunneling.disabledSchemes=
到CMD
CMD java -Dhttp.port=${port} -Djdk.http.auth.tunneling.disabledSchemes= -Dplay.crypto.secret=secret $* -jar ./app-assembly.jar
现在有效。