1

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

代理安装显示启用 TLS 的服务器是可能的(我将在此处链接,但不允许使用)。

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

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

4

1 回答 1

3

如果您使用的是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 支持渠道。

于 2016-12-26T16:02:32.110 回答