通过nginx Bitnami访问Jenkins https

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

我正在 gke 上配置 Jenkins。

jenkins 位于命名空间 devops-tools 上。 Nginx 位于命名空间 kube-system 上。

我想使用私有域配置对 Jenkins 的访问。

- Helm: version.BuildInfo{Version:"v3.13.0", GitCommit:"825e86f6a7a38cef1112bfa606e4127a706749b1", GitTreeState:"clean", GoVersion:"go1.20.8"}
- Kubernetes: Client Version: v1.28.2
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.27.3-gke.100

图表版本

jenkins-4.8.2

我从 Helm Chart jenkinsci/helm-charts 配置了 Jenkins,其中一些值如下:

httpsKeyStore:
      jenkinsHttpsJksSecretName: ''
      jenkinsHttpsJksSecretKey: "jenkins-jks-file"
      jenkinsHttpsJksPasswordSecretName: ""
      jenkinsHttpsJksPasswordSecretKey: "https-jks-password"
      enable: true
      httpPort: 8081
      path: "/var/lib/jenkins"
      fileName: "keystore.jks"
      password: "some password"
      jenkinsKeyStoreBase64Encoded: | 
         /u3+7QAAAAIAAAA...

  ingress:
    enabled: true
    apiVersion: "networking.k8s.io/v1"
    ingressClassName: nginx
    hostName: "jenkins.devops-tools-k8s-cluster.internal.com"
    tls:
    - secretName: jenkins-tls-secret
      hosts:
        - jenkins.devops-tools-k8s-cluster.internal.com

这实际上是与端口转发一起使用的。我可以看到我的证书就在那里。

我为 Nginx 配置了这个秘密:

apiVersion: v1
kind: Secret
metadata:
  name: jenkins-tls-secret
  namespace: devops-tools
data:
  tls.crt: base64 crt
  tls.key: base64 key
type: kubernetes.io/tls

在 nginx 日志上我得到了这个:

I1108 09:05:56.567114       1 store.go:585] "Secret was added and it is used in ingress annotations. Parsing" secret="devops-tools/jenkins-tls-secret"
I1108 09:05:56.568214       1 backend_ssl.go:67] "Adding secret to local store" name="devops-tools/jenkins-tls-secret"

但是当我尝试访问我的网址时https://jenkins.devops-tools-k8s-cluster.internal.com 我收到错误:

2023/11/08 09:42:57 [error] 32#32: *128412 [lua] certificate.lua:263: call(): failed to set DER private key: d2i_PrivateKey_bio() failed, context: ssl_certificate_by_lua*, client: 172.38.0.1, server: 0.0.0.0:443

至于 nginx,我使用 https://hub.docker.com/r/bitnami/nginx 以及最新的稳定版本。

我尝试了其他版本以确保它们存在相同的问题。

该证书在 gcp 中自叹其为私有域。

我做错了什么?难道bitnami的nginx有问题?

nginx jenkins bitnami
1个回答
0
投票

显然是bitnami版本有问题。 我把它换成了新的,现在工作正常了。

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