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

时间:2016-12-26 11:17:53

标签: drone drone.io

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

代理程序安装显示启用了TLS的服务器(我在这里链接,但我不允许)。

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

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

1 个答案:

答案 0 :(得分:3)

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