2016-12-26 168 views
1

默認安裝說明顯示如何使用HTTP和WS在端口80上設置服務器(即未加密)。設置無人機服務器以使用TLS/SSL

代理安裝顯示啓用TLS的服務器是可能的(我在這裏鏈接,但我不允許)。

服務器配置選項表明DRONE_SERVER_CERTDRONE_SERVER_KEYhttp://readme.drone.io/0.5/install/server-configuration/

是否有更充分的說明來設置呢?例如將端口80轉發到端口443,並讓所有代理通過加密通道與服務器通信。

回答

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 

你可以還指示泊塢窗揭露443和轉發到無人機的默認端口8000

-p 443:8000 

當您將代理配置,你當然會需要更新配置中使用WSS。您可以在代理文檔閱讀更多,但本質上是這樣的:

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

最後,如果你得到證書錯誤,我建議您在包中的證書鏈。底線,無人機不解析證書。無人機使用http.ListenAndServeTLS(cert, key)。因此,任何證書問題都直接來自標準庫,因此應該將問題指向Go支持渠道。

+0

可以同時向無人機列表80和443端口? – fommil

+0

無人機無法在兩個端口上列出。 Docker可以映射'-p 443:8000 -p 80:8000',但我懷疑這會按照你想要的方式工作。在這種情況下,我可能會建議將無人機放在像nginx或caddy這樣的反向代理之後。無人機文檔包括每個 –

+2

的示例配置文件我應該提到,作爲額外的好處,球童會自動生成您的ssl證書,使用我們的加密,處理從http到https的自動重定向,並將流量轉發到單個無人機端口 –