There are two ways to run SonarQube over HTTPS:
- By building a standard reverse proxy infrastructure
- By configuring the SonarQube server that natively supports SSL (since version 4.0)
Building a Standard Reverse Proxy Infrastructure
The reverse proxy must be configured to set the value "X_FORWARDED_PROTO: https" in each HTTP request header. Without this property, redirection initiated by the SonarQube server will fall back on HTTP.
Configuring the SonarQube Server that Natively Supports SSL
The configuration is pretty standard. The information to access the certificate must be provided in the configuration of the web server. JVMs used by the analyzers must know of the certificate.
You'll find below a complete example: from the generation of an SSL Certificate to the configuration of the SonarQube web server and analyzers.
Generating the SSL Certificate
Run the following command:
Configuring the SonarQube Web Server
Open the SONARQUBE_HOME/conf/sonar.properties file and update it as below:
Restart the web server. You should now only be able to access the SonarQube server over HTTPS on port 9000.
Configuring the Analyzers