Я выполнил следующую команду:
kubectl create secret tls nexus-tls --cert cert.crt --key privateKey.pem
, где cert.crt
содержит мой сертификат, а privateKey.pem
содержит мой закрытый ключ (предоставленный с помощью CloudFlare).
Затем я установил stable/sonatype-nexus
Диаграмма руля со следующей конфигурацией:
nexusProxy:
env:
nexusDockerHost: containers.<<NEXUS_HOST>>
nexusHttpHost: nexus.<<NEXUS_HOST>>
nexusBackup:
enabled: true
nexusAdminPassword: <<PASSWORD>>
env:
targetBucket: gs://<<BACKUP_BUCKET_NAME>>
persistence:
storageClass: standard
ingress:
enabled: true
path: /*
annotations:
kubernetes.io/ingress.allow-http: true
kubernetes.io/tls-acme: true
kubernetes.io/ingress.class: gce
kubernetes.io/ingress.global-static-ip-name: <<STATIC_IP_ADDRESS_NAME>>
tls:
enabled: true
secretName: nexus-tls
persistence:
storageClass: standard
storageSize: 1024Gi
resources:
requests:
cpu: 250m
memory: 4800Mi
с помощью команды:
helm install -f values.yaml stable/sonatype-nexus
Возможные значения конфигурации для этой диаграммы задокументированы здесь .
Когда я посещаю http://nexus.<<NEXUS_HOST>>
, я могу получить доступ к хранилищу Nexus.Однако, когда я получаю доступ к https://nexus.<<NEXUS_HOST>>
, я получаю предупреждения о смешанном содержимом, поскольку HTTP-ресурсы обслуживаются.
Если для переменной среды nexusProxy.env.enforceHttps
установить значение true, при посещении https://nexus.<<NEXUS_HOST>>
я получаюответ, который выглядит следующим образом:
HTTP access is disabled. Click here to browse Nexus securely: https://nexus.<<NEXUS_HOST>>.
Как я могу обеспечить безопасное обслуживание Nexus?Я сделал ошибку конфигурации, или проблема лежит в другом месте?