SonarQube在Nginx子位置下

时间:2014-09-22 15:44:57

标签: nginx sonarqube

我是否尝试创建一个持续集成服务器,我有许多工具要安装,但我想为所有这些使用单个DN。 所以我试图在我的DN的子位置下托管每个工具(例如:my-domain.org/sonar,my-domain.org/packages等...)

作为托管新手,我正面临一个非常无聊的问题,SonarQube访问。 该工具已安装,我可以使用my-domain.org:9000

访问它

但是我的Nginx配置似乎并不方便,预期的SonarQube页面给了我一个SonarQube 404。

这是我的Nginx vhost配置:

server {
  listen *:80;
  server_name my-domain.org;

  #some other tools configuration

  location /sonarqube {
    proxy_pass             http://localhost:9000;
    proxy_redirect         http://localhost:9000 /sonarqube;
  }
}

任何帮助将不胜感激。谢谢

2 个答案:

答案 0 :(得分:9)

我今天遇到了完全相同的问题,并通过以下配置解决了这个问题。但问题是,根据你的sonarqube的配置,这可能会略有不同,但我们走了:

sonar.properties

sonar.web.context=/sonarqube
sonar.web.port=9000

位点可用/ default.conf

location /sonarqube {
  proxy_pass http://localhost:9000;

  # set header
  proxy_set_header        Host $host;
  proxy_set_header        X-Real-IP $remote_addr;
  proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_connect_timeout   150;
  proxy_send_timeout      100;
  proxy_read_timeout      100;
  proxy_buffers           4 32k;
  client_max_body_size    8m;
  client_body_buffer_size 128k;

   proxy_redirect http://localhost:9000 http://$yourlan$/sonarqube;
}

Nginx服务器应该在端口80上侦听,server_name应该是$yourlan$

答案 1 :(得分:0)

更改sonar.properties context.path:

sonar.web.context=/sonarqube

只需使用nginx conf:

location /sonarqube {
    proxy_pass http://localhost:9000/sonarqube;
}