Настройка дрона сервера для использования TLS/SSL

Инструкции по установке по умолчанию показывают, как настроить сервер на порт 80, используя HTTP и WS (то есть незашифрованные).

Установка агента показывает, что серверы с поддержкой TLS возможны (я приведу ссылку здесь, но я не разрешен).

Параметры конфигурации сервера показывают, что DRONE_SERVER_CERT а также DRONE_SERVER_KEY доступны http://readme.drone.io/0.5/install/server-configuration/

Есть ли более полные инструкции по настройке? например, иметь порт 80 для переадресации на порт 443 и иметь всех агентов, говорящих с сервером по зашифрованным каналам.

1 ответ

Решение

Если вы использовали сертификаты с 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.

Другие вопросы по тегам