仅通过 Apache 反向代理服务器限制 sonarqube 访问

Restricting sonarqube access only via Apache Reverse proxy server

我已将我的 Sonarqube 服务器配置为使用 Apache 服务器 mod_proxy 模块提供的反向代理机制进行访问。

我的问题是,即使在上述设置之后,我也可以通过点击直接 sonarqube url 例如:http://localhost:9000.

来访问 sonarqube 服务器

有没有一种方法可以限制仅通过 Apache 反向代理服务器访问我的 sonarqube 服务器,方法是在一些 sonarqube 属性 文件中进行简单的配置更改。

或者针对此要求的任何其他解决方案?

我正在使用最新版本的 Sonarqube 6.1

Ragdu 你必须将 SonarQube 绑定到本地主机。在 sonar.properties 中使用:sonar.web.host=127.0.0.1

显然,您可以通过访问 http://localhost:9000 从您的服务器进行浏览,但只能从您的服务器进行浏览,您将无法通过 http://{your_server_ip}:9000 进行访问.

将服务器绑定到本地主机是正确的选项,但是如果由于某些原因你不想触摸sonar.properties,或者你需要切换到'two different boxes approach'你可以使用系统防火墙过滤访问。

在第一种情况下,您丢弃所有来自网卡的数据包到端口 9000(但您需要在本地接口中允许访问)。

在第二个中,您只允许 Apache 机器的 IP 与 SonarQube 机器中的端口 9000 通信,所有其他到达端口 9000 的数据包都将被丢弃。

注意,在第二种情况下,您应该在 Apache 和 SonarQube 之间实施 SSL 或隔离两台机器,否则 HTTP 通信可能会被嗅探。