EXTERNAL ----- nginx-ingress ----- RadosGW S3 Server
위와 같은 구성으로 운영을 하던 중 Nexus 에서 S3 를 사용하는데 npm login 등의 작업이 안되는 일이 발생하였다.
패킷 덤프 떠서 원인을 파악해 보았더니 PutObject 를 할 때 "x-amz-meta-blobstore.temporary-blob" 라는 메타데이터 헤더가 들어가는데 SignedHeaders 에는 x-amz-meta-blobstore.temporary-blob 가 있는데 실제 Header 에는 존재하지 않아서 그런 것이었다.
처음엔 Nexus이나 AWS-SDK 문제인가... 했는데 여기선 저 헤더를 보내는데, 이상하게 rados gw 쪽에서 저 헤더를 받지 않았다.
원인은 nginx 때문이었다.
ingress ConfigMap 에
apiVersion: v1
kind: ConfigMap
metadata:
name: nginx-configuration
data:
enable-underscores-in-headers: "true"
ignore-invalid-headers: "false"
이와 같이 추가하면 된다.
- nexus 에 올린 이슈 : https://issues.sonatype.org/browse/NEXUS-30820
반응형
'개발 및 운영 > Kubernetes' 카테고리의 다른 글
kata-containers 설치 (0) | 2022.06.21 |
---|---|
[rook-ceph] external cluster 사용 시 attempt to determine ceph version for the current cluster image timed out 오류 (0) | 2022.01.11 |
gitlab-ce kubernetes 자동 백업 (0) | 2021.09.02 |
Kubernetes 노드가 죽은 후에 재-스케쥴링 되지 않음 (0) | 2021.08.21 |
Calico iBGP에서 vxlan.calico의 IP가 NextHop으로 뜨는 경우 (0) | 2020.11.29 |
댓글