SSL与HTTP代理
如果您正在设置Owncast,并且对如反向代理、SSL或HTTPS等术语感到困惑,也许这可以帮助您。 此页面解释了它们是什么,为什么Owncast可能需要它们,以及一切是如何结合在一起的。
什么是反向代理
反向代理是一个在Owncast前面的小服务器。 它:
- 监听公共互联网(端口80和443)
- 处理HTTPS/SSL
- Forwards traffic to Owncast (by default on port 8080)
- 拥有证书
- 加密流量
- 在发送到Owncast之前对其进行解密 Owncast永远看不到HTTPS——它只看到普通的内部流量。
把它想象成一个前台:
- 公众与前台交流。
- 前台将东西递给Owncast。
Owncast依靠标准的经受住考验的工具(如Caddy、Nginx、Traefik)来正确完成。 许多已经自托管或拥有自己基础设施的人,已经有了一个反向代理的设置,可以将Owncast添加到其中。
为什么您想支持SSL
- 如果您想将Owncast视频或聊天嵌入使用SSL的页面,则您的Owncast服务器也需要受到保护。
- 如果不使用SSL,浏览器将标记您的网站为"不安全"。
- 看起来更专业,您的网站将显得更值得信赖。
- 在公共互联网中保护网络流量是正确的做法。
在您可能不需要它的情况下
- 如果您只是测试和实验Owncast。
- 您在内部运行服务,并且没有任何公共观众的计划。
常见误解(以及为什么会破坏东西)
- ❌ “我在Owncast中启用了HTTPS”
- ❌ “我将端口443转发到Owncast”
- ❌ “我不需要反向代理”
- ❌ "我将RTMP端口1935转发到网络代理"
这些通常导致:
- OBS连接失败
- 管理界面正常工作,但视频不正常
- 嵌入不工作
- 浏览器中的混合内容警告
- 您仍然可以在端口8080上加载Owncast,但不能通过https端口443加载
- 您的流在移动应用中不可用
正确的设置(简化)
- DNS将您的域指向您的服务器
- 反向代理在端口80 / 443上监听(而不是RTMP 1935)
- 反向代理获取SSL证书
- 反向代理将流量转发到Owncast
- Owncast runs on :8080 (the port is configurable in Server Setup)
- Owncast itself is kept off the public internet: bind it to loopback with
--webserverip 127.0.0.1or firewall port 8080. By default Owncast listens on every interface, so without this step visitors can bypass your proxy and reach it directly over plain HTTP. - OBS sends RTMP to Owncast on port 1935, not through the proxy
The proxy must forward every path to Owncast, including the websocket upgrade at /ws that chat uses. All of the example configurations in this section do this.
如果出现问题,最有帮助的问题是:
- “HTTPS在哪里终止?”
- “哪个服务在端口443上监听?”
- “OBS是在与Owncast还是与代理通信?” 回答这些几乎总能揭示问题。
流行的选项
您可以使用任何您喜欢的方法来添加SSL支持,但有一些我们看到与人们配合良好的流行选项。 如果您有任何具体问题或想提出配置或其他设置的建议,请告知我们。
从反向代理继承显示名称
Owncast通常在新用户加入聊天时分配一个随机显示名称。 上游反向代理可以通过在传递网络流量时设置X-Forwarded-User HTTP头影响此行为。 此头将被用作推导用户显示名称的依据,而不是使用随机名称。 用户仍然可以将自己的显示名称更改为任何希望的值。
建议的
如果您没有使用其他选项的要求,建议您安装Caddy,因为它可以快速而轻松地安装。
Improve this page
See something missing or incorrect? Edit this page and improve the documentation for everyone.
Contributors to this documentation

