默认安装说明显示如何使用HTTP和WS在端口80上设置服务器(即未加密)。
代理程序安装显示启用了TLS的服务器(我在这里链接,但我不允许)。
服务器配置选项显示DRONE_SERVER_CERT
和DRONE_SERVER_KEY
可用http://readme.drone.io/0.5/install/server-configuration/
有没有更全面的说明来设置它?例如将端口80转发到端口443并让所有代理通过加密通道与服务器通信。
答案 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支持渠道。