设置无人机服务器以使用 TLS/SSL

setting up a drone server to use TLS/SSL

默认安装说明显示了如何使用 HTTP 和 WS(即未加密)在端口 80 上设置服务器。

代理安装显示启用 TLS 的服务器是可能的(我在这里 link,但我不允许)。

服务器配置选项显示 DRONE_SERVER_CERTDRONE_SERVER_KEY 可用 http://readme.drone.io/0.5/install/server-configuration/

是否有更完整的设置说明?例如将端口 80 转发到端口 443,并让所有代理通过加密通道与服务器通信。

如果您在 drone 0.4 中使用证书,它将是相同的配置,尽管名称可能略有不同。您需要将以下变量传递给您的容器:

DRONE_SERVER_CERT=/path/to/drone.cert
DRONE_SERVER_KEY=/path/to/drone.key

这些证书将存在于您的主机上,这意味着它们的路径需要安装到您的无人机服务器中:

--volume=/path/to/drone.cert:/path/to/drone.cert
--volume=/path/to/drone.key:/path/to/drone.key

您也可以指示Docker暴露443并转发到无人机的默认端口8000

-p 443:8000

配置代理时,当然需要更新配置才能使用wss。您可以在代理文档中阅读更多内容,但本质上是这样的:

DRONE_SERVER=wss://drone.server.com/ws/broker

最后,如果您遇到证书错误,我建议您将证书链包含在您的包中。最重要的是,无人机不解析证书。无人机使用 http.ListenAndServeTLS(cert, key)。所以任何证书问题都直接来自标准库,因此问题应该直接到 Go 支持渠道。