我创建了一个socketcluster nodejs应用程序。我按照他们的官方文档将服务部署到Google K8s Engine。然而,入口服务没有运行,并报错:
Error:googleapi: Error 400: The SSL key is too large., sslCertificateKeyTooLarge
我尝试了以下证书:
- 4048 Let'sEncrypt的密钥大小证书
- 2048使用开放SSL创建的证书的密钥大小。
两者结果相同。
有谁知道我该怎么解决这个问题吗?我从哪里获得启用TLS的适当证书?
IIRC,只支持RSA-2048和ECDSA P256密钥:
openssl genrsa -out PRIVATE_KEY_FILE 2048
openssl ecparam -name prime256v1 -genkey -noout -out PRIVATE_KEY_FILE
我也因为使用带有4096位私钥的letscencrypt证书到GKE入口的错误而挣扎-即使创建秘密也可以正常工作[1]。
终于克服了编辑"/etc/letsencrypt/cli.ini">
rsa-key-size = 2048
颁发新的证书和密钥文件,并将它们放入secret。
[1] https://cloud.google.com/kubernetes-engine/docs/how-to/ingress-multi-sslOnCloud ShellGCP 与"openssl">和"gcloud">,我尝试创建一个自管理SSL证书首先运行下面的命令创建"myCert.crt">和"myKey.key">:
openssl req -new -newkey rsa:4096 -x509 -days 365 -nodes -out myCert.crt -keyout myKey.key
然后,运行下面的命令创建自管理SSL证书"mycert">使用"myCert.crt">和"myKey.key">:
gcloud compute ssl-certificates create mycert --certificate=myCert.crt --private-key=myKey.key
但是我得到了一个类似于你的错误:
错误:(gcloud.compute.ssl-certificates.create)无法获取资源:
- SSL密钥过大。
所以我把"rsa:4096">到"rsa: 2048">然后再次运行第一条命令:
// "4096" is changed to "2048"
openssl req -new -newkey rsa:2048 -x509 -days 365 -nodes -out myCert.crt -keyout myKey.key
然后,再次运行第二个命令:
gcloud compute ssl-certificates create mycert --certificate=myCert.crt --private-key=myKey.key
最后,我可以创建自管理SSL证书& mycert&;:
创建[https://www.googleapis.com/compute/v1/projects/myproject-923743/global/sslCertificates/mycert]。名称:mycert类型:自管理创建时间:2022 - 01 - 22 t07:22:26.058喂饲EXPIRE_TIME:2023 - 01 - 22 t07:22:08.000喂饲MANAGED_STATUS: