在容器中使用 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

现在有效。