다음 프로세스를 설정하려고합니다.
- 포드가 시작되고 개인 키와 csr이 생성됩니다.
- 서명 및 IP 확인을 위해 비밀번호로 보호된 서비스에 CSR을 제출하세요.
- 서비스는 유효한 crt를 반환합니다. 이 crt는 1단계에서 생성된 개인 키와 함께 .p12로 패키징됩니다.
여기서 테스트하고 있는 설정은 grafana 인스턴스가 웹후크를 서비스로 전송한 다음 이를 SNS로 라우팅하도록 하는 것입니다(AWS Lambda를 예전처럼 사용하고 싶지 않습니다). 하나의 SMS에 대해 많은 오버헤드가 발생하고 모든 알림 웹후크를 한 곳에 보관할 수 있습니다. 다음 URL에서 kubernetes 서비스에 접속하려고 할 때
https://zevrant-notification-service/zevrant-notification-service/webhooks/serviceDown
grafana에서 다음 오류가 발생합니다.
Failed to send alert notifications" logger=context userId=1 orgId=1 uname=admin error="Post \"https://zevrant-notification-service/zevrant-notification-service/webhooks/serviceDown\":
x509: certificate is not valid for any names, but wanted to match zevrant-notification-service" remote_addr=10.32.0.1
`
Pod 내부에서 wget을 통해 동일한 요청을 시도했는데 비슷한 오류가 발생했습니다.
wget https://zevrant-notification-service/zevrant-notification-service/webhooks/serviceDown
Connecting to zevrant-notification-service (10.105.135.223:443)
ssl_client: zevrant-notification-service: name 'zevrant-notification-service' not present in
server certificate
wget: error getting response: Connection reset by peer
`
내가 아는 한 인증서에 문제가 있는 것으로 알고 있지만 인증서를 확인하면 응답에 올바른 cname이 포함되어 있습니다. 인증서에는 Pod IP가 IP SAN으로 포함되어 있습니다.
openssl x509 -noout -subject -in test.pem
subject=C = US, ST = MI, O = Zevrant Services Inc, OU = MyDivision, CN = zevrant-notification-service
이것은 나에게 맞는 것 같아서 다음에 무엇을 해야할지 잘 모르겠습니다. 전체 인증서 세부정보는 아래에 나와 있습니다(이러한 키는 임시 키이므로 인증서 예시는 포드가 종료되면 취소됩니다).
-----BEGIN CERTIFICATE-----
MIIGBTCCA+2gAwIBAgICEl8wDQYJKoZIhvcNAQELBQAwgYUxCzAJBgNVBAYTAlVT
MQswCQYDVQQIDAJNSTERMA8GA1UEBwwIQmF5IENpdHkxHTAbBgNVBAoMFFpldnJh
bnQgU2VydmljZXMgSW5jMRUwEwYDVQQDDAwxOTIuMTY4LjEuMTcxIDAeBgkqhkiG
9w0BCQEWEWdlcmV0aGRAZ21haWwuY29tMB4XDTIxMDIyNTE3NDcyNVoXDTIyMDIy
NTE3NDcyNVowdTELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAk1JMR0wGwYDVQQKDBRa
ZXZyYW50IFNlcnZpY2VzIEluYzETMBEGA1UECwwKTXlEaXZpc2lvbjElMCMGA1UE
AwwcemV2cmFudC1ub3RpZmljYXRpb24tc2VydmljZTCCAiIwDQYJKoZIhvcNAQEB
BQADggIPADCCAgoCggIBANJqXQocYHVTNzSDzVuUWbmuHAfncwayH8whnfDYaIHH
G1k1eO1wmbgpfAOGo6qa7XuXnh7KZGy13VOmBeULlLE6E1Y95N9v6x0h37NLcLJY
Yk/NJ1CyHpLTbkgWrPaEjcmOMJE60N3j6nP9i3S6QOndGj42apqFJz1dLdnlFhcG
BaBMiDXJp6XzNUuPNxjsY34u+8nUE3LQCfOdvHqoQ4eEtyyZbgzQhvqw+b9q5XpK
EBwC+OhvTtvev7PzCZKh3q9AgN+1XmZArLu8yAkvFfkiPjfm+h6tiDfxd7VZxulH
C7H5scAOTMMwgsJGetDr7MOFU7TxjfFInEjqe94sIO/Oz+Zr5Ov3I8QSlivAlbVW
sA2houU7du5uJ5gUlK6VzOHTasafoEw942G6XK7SWEJ6FXCjh9SzRqQgtVU58QIW
oRQ9DHwhHxy8WoZzUBdFJcHVPNiXnB2OD1I2NAnP/J018rXihfkDus5iwNlM+h1g
p3zoyBSw7LJtG402+j2JYPGxbCgvNNjgC4ZoofQYmCMeZMfUdXuhAtCUtsCxcpZF
mSR2HkqVp+Ybk3Fz3myVi+fl9UgYX47PicAzmWDs30W23it0NaEpiGsmN8F901Lp
4HSHoogjXYv0qP3AXwDq6f2AijzpRM0ttbEJb0mhcbPB1b02HD8J2pk9CUHO5UuF
AgMBAAGjgY0wgYowCQYDVR0TBAIwADAsBglghkgBhvhCAQ0EHxYdT3BlblNTTCBH
ZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFEFjuMncgCmyWkqSQnWCs9he
RbLvMB8GA1UdIwQYMBaAFLeLCTFMxer6/up4upTdVgayS1tGMA8GA1UdEQQIMAaH
BAohAAgwDQYJKoZIhvcNAQELBQADggIBAHUVvGaJ41gWciY0stLHjkz06XbB1RNp
AUAoups7OHsoGTKGquwxfkq8bYi5k2EZmDzxW6lZOQKINMHQZ4Q97pD/rKtWDSSs
y5izW7nzb30bUQd8pKZU+QIHnUfl9pzDMRNUlfWRmDdlLm58FROFh+NAkeRjgH6u
keCVPDJk5yM+KxHkTA92dhTFFNBDf7kcldnhaj3QPaudyLK7b2urTFiAa7WHDADt
AG0T2LSUGrS/619w+PRS01Su6wECHwucAGVvHNXG1KW9cjeJ4WwUlZ3vVbijzkPW
Ibx8pgrWW8bc4a/h+1OA2l1kDwV0FlCF8wVDRoG7RqaB9N/cu0NGKS+6m39MnS3E
lERRLcJpx+T8YUJXs09lhV3vSPW4wBKyHuoAEXO6Vh2PJm00R6KMbXmEn3eM3J+K
xIKfeJLV7LyM4xOCJP2VnAU0BSHOzmMOtHsgF4N9DflMnUUQjSrSLJTRmvwtCWwm
odai4e0Z49m1+Io0muIlj0a1mRsifFw1E5/edH1Gfd3m37iIwaf5OB2gvra540xL
nXi6QetJBzn1rY1TBfQ1+HlIaBxiHZqv5MNNQ4+v3nZohkX95K95iS0t3CuA7bns
TXy9hOgMaCEyvQUFyOKKuQ1xSh3F1KD2icm0nfu5o7rkgSue4qp7NjzF7WyDQhI0
pKkeomX+f9mS
-----END CERTIFICATE-----
답변1
거의 다 왔어, 친구. SAN에는 원래 CN(zevrant-notification-service) 및 대체 이름(10.105.135.223)이 포함되어야 합니다.
현재 SAN은 10.105.135.223이며 이는 원래 CN(zevrant-notification-service)을 무효화합니다.