如何在 HTTPS 和反向代理后使用 OctoPrint

如何在 HTTPS 和反向代理后使用 OctoPrint

作者 FixoLab


反向代理可以添加 HTTPS 和稳定的本地名称,但也可能重写路径或阻止 OctoPrint 的实时连接。应分别测试 API 和 WebSocket。

Printer Tools 通过本地协议与支持的打印机和摄像头通信。保持设备私密,保护凭证,并使用当前的兼容性矩阵作为特定型号功能的权威参考。

Printer Tools
Printer Tools

在一个面板中管理您的所有 3D 打印机

通过一个应用监控 Bambu Lab、Klipper、OctoPrint、Creality、Snapmaker、Anycubic、Flashforge、Elegoo 和 Prusa 打印机

支持 Android、iPhone、iPad 和 Mac,并提供 Apple Watch 与 Wear OS 配套应用,以及通过 VPN、OctoEverywhere 或 Obico 实现的可选远程访问

Printer Tools

选择预期的基础 URL

决定 OctoPrint 是位于代理根目录还是如 /octoprint/ 的子路径。代理和 OctoPrint 配置必须在该外部地址上保持一致。

保留代理头

使用 OctoPrint 推荐的头部转发原始主机和方案。错误的头部可能会导致重定向到内部主机名或降级 HTTPS URL。

允许 WebSocket 升级

如果代理丢弃 Upgrade 和 Connection 处理,一个页面或 REST 端点可能可以工作,而实时状态会失败。保持超时时间足够长,以支持持久的 WebSocket。

保持身份验证和信任有效

使用手机可以验证的证书,并且仅将API凭据发送到指定主机。不要禁用证书检查以隐藏名称不匹配。

本地故障排除清单

  • 测试外部基础路径。
  • 检查重定向目标。
  • 独立验证REST和WebSocket。
  • 使用受信任的证书和私有访问。

常见问题解答

为什么网页可以工作,但实时状态不能?

代理可能能正确提供HTTP服务,但阻止WebSocket升级。

自签名证书能自动工作吗?

手机必须正确信任它,并且证书名称必须匹配。

代理应该公开暴露 OctoPrint 吗?

不应该。HTTPS 不替代访问控制和私有网络。

Printer Tools
Printer Tools

在一个面板中管理您的所有 3D 打印机

通过一个应用监控 Bambu Lab、Klipper、OctoPrint、Creality、Snapmaker、Anycubic、Flashforge、Elegoo 和 Prusa 打印机

支持 Android、iPhone、iPad 和 Mac,并提供 Apple Watch 与 Wear OS 配套应用,以及通过 VPN、OctoEverywhere 或 Obico 实现的可选远程访问

Printer Tools