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