証明書

Updated 2 years ago by Admin

Droneは、サーバコンテナに証明書をマウントすることにより、ネイティブSSL構成をサポートします。サーバが公開されている場合は、Lets Encryptの使用を検討する必要があります。

  1. 証明書とキーをサーバコンテナにマウントします。
    $ docker run \
    -v /etc/certs/drone.company.com/server.crt:/etc/certs/drone.company.com/server.crt \
    -v /etc/certs/drone.company.com/server.key:/etc/certs/drone.company.com/server.key
  2. 証明書とキーへのパスを構成します。
    $ docker run \
    -e DRONE_TLS_CERT=/etc/certs/drone.company.com/server.crt \
    -e DRONE_TLS_KEY=/etc/certs/drone.company.com/server.key
  3. 標準のhttpポートとhttpsポートを公開します。
    $ docker run \
    -p 80:80 \
    -p 443:443

Lets Encrypt

Droneは、Let's Encryptを使用した自動SSL構成と更新をサポートしています。次のフラグを使用してLet's Encryptを有効にできます。

  1. 次のパラメータを使用してLets Encryptを有効にします。
    DRONE_TLS_AUTOCERT=true
  2. 目的のホスト名が構成されていることを確認します。
    DRONE_SERVER_HOST=domain.com
    DRONE_SERVER_PROTO=https
  3. 標準のhttpポートとhttpsポートを公開します。
    docker run \
    -p 80:80 \
    -p 443:443
  4. 証明書キャッシュをホストにマウントします。
    docker run \
    -v /var/lib/drone:/data

証明書キャッシュ

Droneは、生成された証明書をディスクの/data/golang-autocertにキャッシュします。これにより、システムが再起動時に証明書を再要求するのを防ぎます。 /dataディレクトリをホストにバインドマウントすることをお勧めします。

証明書のアップグレード

Droneは、証明書のアップグレードを処理する公式のGo acmeライブラリを使用します。追加の構成や管理は必要ありません。


How did we do?