将SocketClutser推送到Google K8S引擎,入口服务不工作,抱怨SSL密钥太大 &g



我创建了一个socketcluster nodejs应用程序。我按照他们的官方文档将服务部署到Google K8s Engine。然而,入口服务没有运行,并报错:

Error:googleapi: Error 400: The SSL key is too large., sslCertificateKeyTooLarge

我尝试了以下证书:

  1. 4048 Let'sEncrypt的密钥大小证书
  2. 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-ssl

OnCloud 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:

最新更新