反向代理 | 使用Nginx和Certbot托管您的应用

💡 原文英文,约500词,阅读约需2分钟。
📝

内容提要

最近,我创建了一个FastAPI应用作为多个前端服务的后端。如果任何前端访问https://some-api.somecompany.com/my-api,后端将会响应。安装步骤包括创建云平台上的虚拟机,安装Nginx,使用CertBot获取证书启用HTTPS,测试应用,确保虚拟机IP是静态的,设置cron job以在系统重启时运行应用。

🎯

关键要点

  • 创建了一个FastAPI应用作为多个前端服务的后端。

  • 安装步骤包括在云平台上创建虚拟机,安装Nginx,使用CertBot获取证书启用HTTPS。

  • 创建DNS记录指向虚拟机的IP地址。

  • 使用Ubuntu的apt包管理器安装Nginx。

  • 编辑Nginx配置文件以设置反向代理。

  • 使用snap安装CertBot并准备命令。

  • 运行CertBot以获取HTTPS证书。

  • 启动FastAPI应用并测试其是否正常工作。

  • 确保虚拟机的IP地址是静态的。

  • 设置cron job以在系统重启时自动运行FastAPI应用。

延伸问答

如何在云平台上创建虚拟机以托管FastAPI应用?

在云平台上创建虚拟机时,选择Ubuntu 24.04 LTS作为操作系统,并确保虚拟机的IP地址是静态的。

如何使用Nginx配置反向代理?

使用Ubuntu的apt包管理器安装Nginx,并编辑配置文件以设置反向代理,指向FastAPI应用的地址。

如何使用Certbot获取HTTPS证书?

使用snap安装Certbot,然后运行命令'sudo certbot --nginx'来获取HTTPS证书,并按照提示选择要激活HTTPS的域名。

如何确保FastAPI应用在系统重启后自动运行?

设置一个cron job,在系统重启时运行FastAPI应用的启动命令,确保应用能够自动启动。

FastAPI应用的测试步骤是什么?

在终端中进入应用目录,激活虚拟环境,然后使用命令'uvicorn main:app --host 0.0.0.0 --port 8080'启动应用,最后访问相应的URL进行测试。

为什么需要将虚拟机的IP地址设置为静态?

将虚拟机的IP地址设置为静态可以确保在虚拟机停止和重新启动后,IP地址不会改变,从而避免访问问题。

🏷️

标签

➡️

继续阅读