Closed numa1985 closed 1 month ago
You have a few options in your ingress (i.e. nginx.ingress.kubernetes.io/rewrite-target
) that will affect how request paths are forwarded to the pod.
If you're getting a 405 you're hitting the wrong endpoint on the API server. For reference, when you click Login
, a POST
request is sent to /api/v1/user/login
on the API server.
You'll need to debug if and where path segments are dropped or added. I can't help with that, and this is not an issue with the Helm chart.
@nscuro : Thanks for letting me know , I will try to modify rewrite targets and path prefix accordingly. In below snapshot of frontend login page ,when I tried logging in manually with default credentials , its throwing error with 304 error .Is there any variable that needs to be set for frontend in values.yaml or is there any port conflict that both the frontend and api server are using 8080. ?
ubuntu@NARU-Pr5530:~/sbom$ kubectl logs dependency-track-frontend-54b75f9644-7m7fk -n dependency-track |tail -10 10.100.0.172 - - [27/May/2024:13:31:26 +0000] "GET / HTTP/1.1" 200 6702 "-" "kube-probe/1.29" "-" 10.100.0.172 - - [27/May/2024:13:31:26 +0000] "GET / HTTP/1.1" 200 6702 "-" "kube-probe/1.29" "-" 10.100.0.172 - - [27/May/2024:13:31:41 +0000] "GET / HTTP/1.1" 200 6702 "-" "kube-probe/1.29" "-" 10.100.0.172 - - [27/May/2024:13:31:41 +0000] "GET / HTTP/1.1" 200 6702 "-" "kube-probe/1.29" "-" 10.100.0.172 - - [27/May/2024:13:31:56 +0000] "GET / HTTP/1.1" 200 6702 "-" "kube-probe/1.29" "-" 10.100.0.172 - - [27/May/2024:13:31:56 +0000] "GET / HTTP/1.1" 200 6702 "-" "kube-probe/1.29" "-" 10.100.0.105 - - [27/May/2024:13:32:05 +0000] "GET /login?redirect=%2Fdashboard HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 Edg/125.0.0.0" "172.20.30.24" 10.100.0.105 - - [27/May/2024:13:32:05 +0000] "GET /static/config.json HTTP/1.1" 304 0 "https://dependency-track.private.*****.com/login?redirect=%2Fdashboard" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 Edg/125.0.0.0" "172.20.30.24" 10.100.0.172 - - [27/May/2024:13:32:11 +0000] "GET / HTTP/1.1" 200 6702 "-" "kube-probe/1.29" "-" 10.100.0.172 - - [27/May/2024:13:32:11 +0000] "GET / HTTP/1.1" 200 6702 "-" "kube-probe/1.29" "-"
@nscuro : Am able to fix the ingress issue and currently was able to reach the login api with default credentials. Thanks
@nscuro : Am able to fix the ingress issue and currently was able to reach the login api with default credentials. Thanks
please share how exactly you solved this problem because I faced the same thing
@WantDead : I had tried with below in the values.yaml and worked as expected for me.
ingress:
enabled: true
annotations:
nginx.ingress.kubernetes.io/client-max-body-size: 5m
nginx.ingress.kubernetes.io/proxy-body-size: 5m
nginx.ingress.kubernetes.io/proxy-buffer-size: 128k
nginx.ingress.kubernetes.io/proxy-buffering: "on"
hostname: "dependency-track.*****.com"
ingressClassName: "nginx"
tls:
@WantDead : I had tried with below in the values.yaml and worked as expected for me.
ingress: enabled: true annotations: nginx.ingress.kubernetes.io/client-max-body-size: 5m nginx.ingress.kubernetes.io/proxy-body-size: 5m nginx.ingress.kubernetes.io/proxy-buffer-size: 128k nginx.ingress.kubernetes.io/proxy-buffering: "on" hostname: "dependency-track.*****.com" ingressClassName: "nginx" tls:
* secretName: ****.com hosts: * "dependency-track.****.com"
thanks, dude
Hi,
In the production can't able to connect to frontend with default credentails.PFB details.
Ingress for frontend
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: annotations: meta.helm.sh/release-name: "dependency-track" meta.helm.sh/release-namespace: "dependency-track"
nginx.ingress.kubernetes.io/proxy-buffer-size: 128k nginx.ingress.kubernetes.io/proxy-buffering: "on" nginx.ingress.kubernetes.io/rewrite-target: /$1
generation: 1 labels: app: "dependency-track" app.kubernetes.io/instance: "dependency-track" app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: "dependency-track" helm.sh/chart: platform-0.1.0 name: "dependency-track" namespace: "dependency-track" spec:
ingressClassName: nginx
rules:
Ingress for apiserver
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: annotations: meta.helm.sh/release-name: "dependency-track-api" meta.helm.sh/release-namespace: "dependency-track" nginx.ingress.kubernetes.io/proxy-buffer-size: 128k nginx.ingress.kubernetes.io/proxy-buffering: "on" nginx.ingress.kubernetes.io/rewrite-target: /$1 generation: 1 labels: app: "dependency-track" app.kubernetes.io/instance: "dependency-track" app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: "dependency-track-api" helm.sh/chart: platform-0.1.0 name: "dependency-track-api" namespace: "dependency-track" spec: ingressClassName: nginx rules:
Values.yaml
apiServer: resources: requests: cpu: "2" memory: "4Gi" limits: cpu: "2" memory: "4Gi" persistentVolume: enabled: true size: 30Gi nodeSelector: agentpool: npuser3 kubernetes.io/os: linux extraEnv: ALPINE_DATABASE_MODE: "external" ALPINE_DATABASE_URL: "jdbc:sqlserver://.database.windows.net:1433;databaseName=SBOM;sendStringParametersAsUnicode=false;trustServerCertificate=false" ALPINE_DATABASE_DRIVER: "com.microsoft.sqlserver.jdbc.SQLServerDriver" ALPINE_DATABASE_USERNAME: "admin@" ALPINE_DATABASE_PASSWORD: '#{databasePassword}' SYSTEM_REQUIREMENT_CHECK_ENABLED: "false" initContainers:
frontend: apiBaseUrl: 'https://dependency-track-api.****.com/'
Error Info
nginx-ingress-nginx-controller-68466c9758-4mmm5:/etc/nginx$ curl -vlk https://dependency-track.private.***.com/api/v1/user/login -d "username=admin&password=admin"
405 Not Allowed
api server webpage
Frontend webpage