我在我的服务器上运行着几个不同的网站。
- 使用 Apache(端口 80)的一般网页
- Cockpit Web 控制台(端口 9090)
- 家庭助理(端口 8123)
- 一个名为茶具(端口 3000)
我使用 Certbot 为主网站制作证书,然后将证书文件从 /etc/letsencrypt/live/<my domain> 复制到 HA 和 Cockpit 可以使用它们的地方。遗憾的是,我对 Teable 的内部工作原理了解不多,所以我不知道如何将其置于 HTTPS 之后。
我想知道是否有某种解决方案可以在 Teaable 之外设置 HTTPS 安全性,因为我不知道如何从内部将其置于 HTTPS 之后。
我的服务器正在运行 Ubuntu 22.04.4 LTS。Apache 和 Cockpit 是主服务器上的软件包,Home Assistant 和 Teaable 是 Docker 容器。
答案1
你正在寻找反向代理- 即:一个服务器将接受来自广大民众的连接,并根据请求参数(例如主机名、路径和其他属性)将其转发到不同的服务器。
此反向代理服务侦听标准端口(HTTP 端口 80,HTTPS 端口 443),并代表其背后的其他服务终止安全连接。从反向代理到背后服务的连接可以是纯 HTTP(适合您的情况)或 HTTPS(如果您需要)。许多产品还能够自动配置和轮换证书(尽管您通常需要服务器可以从互联网访问以提供控制证明),以及自动发现内部服务。
我用过Traefik 概览图这里,因为它很好地形象化了反向代理的作用。
我想到了一些选择,但还有很多没有列在这里。
- Nginx+Certbot- 需要手动配置,但也有其他选项nginx 代理管理器在某种程度上简化和自动化
- Traefik 代理- 可以自动检查docker服务并从标签配置它们+手动配置其他服务