【问题标题】:SonarQube Proxy Configuration, TrickySonarQube 代理配置,棘手
【发布时间】:2013-12-10 13:09:45
【问题描述】:

我无法让代理配置适用于 SonarQube 4.0,因此我可以安装插件。

当我打开http://localhost:9000/updatecenter/available 时,它显示错误:“未连接到更新中心。请检查您的互联网连接和日志。”

在 sonar.log 中我读到:“org.sonar.api.utils.HttpDownloader$HttpException:下载失败 [http://update.sonarsource.org/update-center.properties]。响应代码:403”

在 sonar.properties 中,我使用与其他程序相同的代理对其进行了配置:

sonar.updatecenter.activate=true
http.proxyHost=<host>
http.proxyPort=<port>
http.proxyUser=<username>
http.proxyPassword=<password>

我尝试在 wrapper.properties 中进行相同的配置,但它也不起作用。

对于代理主机,我尝试了短名称和全名。对于用户名,我只尝试了用户名和&lt;DOMAINNAME&gt;\&lt;username&gt;&lt;DOMAINNAME&gt;\\&lt;username&gt;

没有任何效果。有什么想法吗?

【问题讨论】:

  • 如果您的公司使用 NTLM 类型的代理,您可以尝试使用 CNTLM 应用程序。通过使用它,您可以绕过代理。
  • 我像你一样进行了配置,并且运行顺利。我使用了代理的 IP。
  • 在 SonarQube 5.1.1 中,代理配置不应在 conf/wrapper.properties 中进行,而应在 conf/sonar.properties 中进行。我已经在那里配置了代理,可以看到插件列表,但无法下载或更新任何插件,因为错误:stackoverflow.com/questions/23289159/…

标签: proxy sonarqube


【解决方案1】:

我的代理配置有效,看起来如下:

http.proxyHost=proxy.domain.de
http.proxyPort=8888

请注意,网址前没有“http://”或其他任何内容。

另外,我不使用代理身份验证,所以我把“proxyUser”和“proxyPassword”注释掉了。

【讨论】:

    【解决方案2】:

    对于那些在 Docker 中运行 SonarQube 的人,我对这里提到的任何建议都不满意。但我发现以下解决方案对我有用 (here):

    docker run -d sonarqube -Dhttp.proxyHost=<myproxy.url.com> -Dhttp.proxyPort=<port>
    

    在 docker-compose 表示法中与此等效:

    services:
      sonarqube:
        image: sonarqube
        command: -Dhttp.proxyHost=<myproxy.url.com> -Dhttp.proxyPort=<port>
    

    【讨论】:

    • 这完全为我们的公司代理成功了!请注意,要通过 Active Directory 进行身份验证,您可以通过取消反斜杠来指定域和用户。例如: -Dhttp.proxyUser=DOMAIN\\用户名
    【解决方案3】:

    只是一个信息:我也遇到了这个问题。 我可以看到插件,但无法下载。问题是,您必须将此行添加到您的 sonar.properties 中,用于 https:

    # https-proxy
    sonar.web.javaAdditionalOpts=-Dhttps.proxyHost=xxxxx -Dhttps.proxyPort=xxxx -Dhttps.proxyUser=xxxx -Dhttps.proxyPassword=xxxx
    

    【讨论】:

    • 对我不起作用。通过设置“sonar.web.javaAdditionalOpts”中的选项或直接设置。
    【解决方案4】:

    我使用了官方文档,它可以工作: Using the Update Center behind a Proxy

    http.proxyHost=<your.proxy.host>
    http.proxyPort=<yout.proxy.port>
    

    问候,

    【讨论】:

      【解决方案5】:

      在 sonar.properties 中设置代理不带“http://”,只有 http.proxyHost=myproxy.domain.pt

      另一个建议是在 wrapper.conf 上也添加这行:

      wrapper.java.additional.3=-Dhttp.proxySet=true
      wrapper.java.additional.4=-Dhttp.proxyHost=myproxy.domain.pt
      wrapper.java.additional.5=-Dhttp.proxyPort=myproxy.port
      wrapper.java.additional.6=-Dhttps.proxyHost=myproxy.domain.pt
      wrapper.java.additional.7=-Dhttps.proxyPort=myproxy.port
      

      如果你有一个 docker 卷,请在使用此配置部署新卷之前将其删除,否则它将保留原始配置

      【讨论】:

        【解决方案6】:

        Appart from http,别忘了在 sonar.properties 中设置你的 https 代理配置(更新服务器在 HTTPS 后面):

        https.proxyHost=<host>
        https.proxyPort=<port>
        https.proxyUser=<username>
        https.proxyPassword=<password>
        

        【讨论】:

          猜你喜欢
          • 2017-05-09
          • 2018-08-21
          • 2016-10-03
          • 1970-01-01
          • 2013-10-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多