我正在努力弄清楚如何为rest启用http2。我使用fastify作为它的服务器,根据他们的文档,可以通过以下方式启用安全的http2
https://www.fastify.io/docs/latest/Reference/HTTP2/
我现在面临的问题是这个api被部署到多个服务器实例上的https://www.digitalocean.com/products/app-platform (为了可靠性和可伸缩性)。
如果我正确地理解了trafic是通过cloudflare路由到这些实例的,那么它就会为您提供现成的设置。我假设cloudflare也管理本例中的所有ssl证书。
因此,我的问题是,如何指定证书文件以在此设置中对(那些.key和.cert文件)进行细化?我无法访问cloudflare帐户,因为它是由数字海洋管理的。
发布于 2022-05-17 16:19:43
根据DigitalOcean应用程序平台文档,您似乎只能为自定义域启用HTTPS,而不能为默认的应用平台域启用HTTPS(您的app.onDigal醇. App )。
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/HTTPS 2,在初始化Fastify服务器时,需要在options对象中指定密钥和证书文件。
https://www.fastify.io/docs/latest/Reference/HTTP2/#http2
由于您没有访问Cloudflare的权限,所以可以使用Lets加密来获得SSL证书。
发布于 2022-05-23 14:45:36
激活SSL和HTTPS最常见的方法之一是使用加密和certbot.In命令来执行以下步骤:
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install python-certbot-nginx
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
# Only valid for 90 days, test the renewal process with
certbot renew --dry-run
另外,请查看这个参考资料,它对我很有用。检查
https://stackoverflow.com/questions/66887100
复制相似问题