首页 > 解决方案 > 多条路径的入口规则未按预期工作

问题描述

情况是这样的:我有 2 个部署在运行 sonarqube(针对不同的用例),链接到 2 个不同的服务,并且我正在通过基于 Ingress 路径的路由重定向流量。

metadata:
  annotations:    
    nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
  name: sonarqube
  namespace: sonar-namespace
spec:
 rules:
  - host: sonar.example.com
    http:
      paths:
      - backend:
          serviceName: sonar-service-1
          servicePort: 80
        path: /sonarqube/
      - backend: 
          serviceName: sonar-service-2
          servicePort: 80
        path: /sonarqube-two/

我也可以访问 /sonarqube 和 /sonarqube-two/ 下的 UI 页面,但是每当我尝试采取任何操作(比如安装新插件、创建新用户等)时,它每次都会将我重定向到登录页面。有人可以帮我吗?如果我需要任何信息,请告诉我。

标签: kubernetessonarqubekubernetes-ingressnginx-ingress

解决方案


如果您不使用默认路径 /,则需要告诉 Sonarqube 它运行的路径。

您可以通过设置来设置

sonar.web.context=/sonarqube

$SONARQUBE-HOME/conf/sonar.properties

取自官方文档:https ://docs.sonarqube.org/latest/setup/install-server/ (启动 Web 服务器)

另一种方法是使用子域而不是路径来托管它(例如 sonar1.example.com 和 sonar2.example.com)。然后你就不需要修改你的配置了。


推荐阅读