Sonarqube 背后的 nginx 反向代理重定向项目页面而不是登录页面

问题描述 投票:0回答:2

我在 docker 容器中有一个 sonarqube,在服务器中有 nginx。我的 nginx.conf

upstream sonarqube {
  server 127.0.0.1:9000 fail_timeout=0;
}

server {
  listen 80;
  server_name sonarqube.mydomain.com;
  return 301 https://$host$request_uri;
}

server{
  server_name sonarqube.mydomain.com;
  listen 443 ssl;

  ssl_certificate /etc/ssl/certificates/server.crt;
  ssl_certificate_key /etc/ssl/certificates/server.key;

  access_log /var/log/nginx/sonarqube.access.log;
  error_log /var/log/nginx/sonarqube.error.log;

  location / {
    proxy_set_header        Host $host:$server_port;
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header        X-Forwarded-Proto $scheme;
    proxy_pass              http://sonarqube;
    # Required for new HTTP-based CLI
    proxy_http_version 1.1;
    proxy_request_buffering off;
    proxy_buffering off; # Required for HTTP-based CLI to work over SSL
  }
}

当我访问“sonarqube.mydomain.com”时,它重定向到“sonarqube.mydomain.com/projects”而不是登录页面。当我们访问“sonarqube.mydomain.com”时,如何定向到登录页面?

nginx sonarqube reverse-proxy
2个回答
0
投票

我明白了这个问题。在 sonarqube 的设置中强制用户身份验证应该是正确的。这就是为什么它直接进入项目页面。


0
投票

就我而言,它需要更改声纳的上下文路径。 如果您不在 docker 中运行 - 在

sonar.properties
中设置 sonar.web.context=/sonar

如果是docker - 添加环境

SONAR_WEB_CONTEXT='/sonar'

nginx 将如下所示: 代理参数:

© www.soinside.com 2019 - 2024. All rights reserved.