如何在整个服务器上设置 HTTPS?

如何在整个服务器上设置 HTTPS?

我在我的服务器上运行着几个不同的网站。

  • 使用 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 容器。

neofetch 输出的图片

答案1

你正在寻找反向代理- 即:一个服务器将接受来自广大民众的连接,并根据请求参数(例如主机名、路径和其他属性)将其转发到不同的服务器。

此反向代理服务侦听标准端口(HTTP 端口 80,HTTPS 端口 443),并代表其背后的其他服务终止安全连接。从反向代理到背后服务的连接可以是纯 HTTP(适合您的情况)或 HTTPS(如果您需要)。许多产品还能够自动配置和轮换证书(尽管您通常需要服务器可以从互联网访问以提供控制证明),以及自动发现内部服务。

我用过Traefik 概览图这里,因为它很好地形象化了反向代理的作用。

Traefik 文档中的图表,左侧显示来自互联网的请求,中间显示一个 gopher,后面显示多个服务

我想到了一些选择,但还有很多没有列在这里。

相关内容