ssl 是否有计划将HTTPS重新添加到SonarQube?

pxq42qpu  于 2023-04-12  发布在  其他
关注(0)|答案(3)|浏览(174)

我正在使用反向代理运行SonarQube。但是,出于安全原因,我还在SonarQube和数据库之间使用X.509身份验证。从5.4升级到5.6后,我无法再连接到PostgreSQL数据库,因为证书未通过。
1.在协商到数据库的SSL连接时,是否有其他方法将SonarQube配置为使用本地密钥库?
1.是否有计划重新添加SSL支持?
1.是否有计划重新添加WAR风格的部署?
我可能会被困在5.4。

5rgfhyps

5rgfhyps1#

SonarQube使用反向代理支持HTTPS。以下是官方文档和链接:
要通过HTTPS运行SonarQube服务器,您必须构建标准的反向代理基础架构。必须将反向代理配置为设置值“X_FORWARDED_PROTO:https”。如果没有此属性,由SonarQube服务器发起的重定向将回退到HTTP。

使用Apache代理

我们假设您已经安装了带有mod_proxy模块的Apache 2,SonarQube正在运行并可用,并且您希望为www.public_sonar.com配置虚拟主机。此时,编辑www.public_ www.example.com虚拟主机的HTTPd配置文件sonar.com。包括以下内容以通过http://www.public_sonar.com/上的mod_proxy公开SonarQube:

ProxyRequests Off
ProxyPreserveHost On
<VirtualHost *:80>
  ServerName www.public_sonar.com
  ServerAdmin admin@somecompany.com
  ProxyPass / http://private_sonar_host:sonar_port/
  ProxyPassReverse / http://www.public_sonar.com/
  ErrorLog logs/somecompany/sonar/error.log
  CustomLog logs/somecompany/sonar/access.log common
</VirtualHost>

使用Nginx

我们假设您已经安装了Nginx,您正在使用www.example.com的虚拟主机www.somecompany.com,并且SonarQube正在运行并可用。此时,编辑Nginx配置文件。包括以下内容以在http://www.somecompany.com/上公开SonarQube:

# the server directive is nginx's virtual host directive
server {
  # port to listen on. Can also be set to an IP:PORT
  listen 80;

  # sets the domain[s] that this vhost server requests for
  server_name www.somecompany.com;

  location / {
    proxy_pass http://sonarhost:sonarport;
  }
}

使用IIS

SonarQube建议使用反向代理来保护您的声纳安装。在IIS和URL重写模块的帮助下,这是一块蛋糕。
您需要的:
1.在一台机器上启用IIS(不一定是SonarQube机器,但我假设您在同一个系统上执行此操作)

  1. IIS的Url Rewite扩展(https://www.iis.net/downloads/microsoft/url-rewrite
  2. IIS的基于应用程序的路由扩展(https://www.iis.net/downloads/microsoft/application-request-routing
  3. SSL证书(可以是自签名的或真实的的)
    第一步是创建一个IIS网站,它将充当反向代理。

除非您需要进行Kerberos身份验证,否则您无需在反向代理上配置任何形式的身份验证。如果您已在SonarQube上配置了Active Directory集成,则它应转发来自SonarQube的质询。

如果您使用的是Kerberos或IIS高级保护,请查看此处获取有关正确配置的指导。(https://blogs.technet.microsoft.com/latam/2015/06/24/kerberos-authentication-and-application-request-routing/
配置绑定以使用SSL,并设置正确的主机名和证书。我使用安装在我机器上的IIS Express Development Certificate进行了一点欺骗:

接下来,我们将打开URL重写设置来配置反向代理:

单击添加规则以创建新规则:

然后从模板列表中选择“反向代理”:

输入目标服务器URL(可以是http://localhost:9000,甚至是远程服务器),然后单击“确定”创建规则:

你回到URL重写屏幕,我们需要添加一个额外的服务器变量,我们将与请求沿着发送到其他服务器,以便告诉SonarQube它实际上是在反向代理后面,为它做SSL卸载:

单击“添加...”以创建服务器变量:

添加服务器变量“X_FORWARDED_PROTO”,以允许重写模块操作此标头:

现在,您应该在变量列表中列出了变量。单击“返回到规则”以返回到规则列表:

编辑刚创建的URL重写规则:

展开规则定义的“服务器变量”部分:

添加您在上一步中允许的“X_FORWARDED_PROTO”头文件,并给予赋值“https”:

应用更改:

现在您应该能够通过SSL访问SonarQube。您可能需要将原始SonarQube示例配置为仅接受来自反向代理的流量,或者仅接受来自本地主机的流量通过Windows防火墙。
复制自:
USING IIS
Server setup documentation

lbsnaicq

lbsnaicq2#

对第2点的答复:在SonarQube上处理HTTPS的唯一方法是使用代理。查看documentation以了解更多信息。
对第3点的答复:不,没有计划回到战争。

pbpqsu0x

pbpqsu0x3#

添加反向代理到docker compose。通过openssl创建证书。添加nginx配置完成

相关问题