我是否尝试创建一个持续集成服务器,我有许多工具要安装,但我想为所有这些使用单个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;
}
}
任何帮助将不胜感激。谢谢
答案 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;
}