如何在Digital Ocean应用平台中启用fastify的http2

Ilj*_*lja 6 ssl node.js digital-ocean http2 fastify

我正在尝试弄清楚如何为我的其余 api 启用 http2。我使用 fastify 作为其服务器,根据他们的文档,可以通过以下方式启用安全 http2

https://www.fastify.io/docs/latest/Reference/HTTP2/

我现在面临的问题是这个api部署到多个服务器实例上的https://www.digitalocean.com/products/app-platform(为了可靠性和可扩展性)

如果我理解正确的话,流量是通过 cloudflare 路由到这些实例的,那么它是开箱即用的。在这种情况下,我假设 cloudflare 还管理所有 ssl 证书。

因此我的问题是,如何在此设置中指定要固定的证书文件(那些.key.cert那些)?我无权访问 cloudflare 帐户,因为它由 Digital Ocean 管理。

Car*_*Kay 1

根据 DigitalOcean 应用程序平台文档,您似乎只能为自定义域启用 HTTPS,而不能为默认应用程序平台域 (your-app.ondigitalocean.app) 启用 HTTPS。

https://docs.digitalocean.com/products/app-platform/quickstart/#register-a-custom-domain

如果要为应用程序启用 HTTPS,则需要添加自定义域,然后为该域添加 SSL 证书。

https://docs.digitalocean.com/products/networking/load-balancers/how-to/manage/#ssl

根据 Fastify 文档,为了启用 HTTPS/HTTP2,您需要在初始化 Fastify 服务器时在选项对象中指定密钥和证书文件。

https://www.fastify.io/docs/latest/Reference/HTTP2/#http2

由于您无权访问 Cloudflare,因此您可以使用 Lets Encrypt 来获取 SSL 证书。