Help us understand the problem. What is going on with this article?

docker で全自動 Let's encrypt

https-portal があまり知られてないようなので紹介記事だけ書いとく。
https://github.com/SteveLTN/https-portal

あなたがすでにhttpで動作するサービスのdockerコンテナを持ってるなら、こいつを docker-compose に加えるだけで https 対応は完了。

え?

加えるだけで完了。

まじです。

https-portal は何をするものか

基本的には https のリクエストを受け取り、他のコンテナの http へ転送するリバースプロキシとして動作する nginx である。
ところで https を提供するには証明書の取得、設定などが必要だが、こいつはそれを全自動でやってくれる。

え?

証明書の取得、設定を全自動でやってくれる。

まじです。

期間延長も自動でやってくれるらしい。

まあとにかく便利なので、 Let's encrypt したい人は使わない手はないですね。

設定方法

冒頭のURL見れば全部書いてあるので改めて書くこと何もないのだけど、 Quick Start のとこだけコピペしてざっくり解説しておくと、

https-portal:
  image: steveltn/https-portal:1
  ports:
    - '80:80'
    - '443:443'
  links:
    - wordpress
  restart: always
  environment:
    DOMAINS: 'wordpress.example.com -> http://wordpress'
    # STAGE: 'production'
    # FORCE_RENEW: 'true'

wordpress:
  image: wordpress
  links:
    - db:mysql

db:
  image: mariadb
  environment:
    MYSQL_ROOT_PASSWORD: '<a secure password>'

という感じ。 wordpress と db のとこは、おのおの公開したいwebサービスの設定と置き換わる。ポイントとなるのは https-portal.environment のあたり。

    DOMAINS: 'wordpress.example.com -> http://wordpress'

左側が実際に公開したいドメイン名。 (当たり前だけどドメインは事前に取得しておく必要があり、 Let's encrypt が所有権を確認するためにはあらかじめDNSを設定しておく必要がある)
-> の右側は docker のコンテナ名。https-portal が受け取ったリクエストをこのURLへリダイレクトし、レスポンスをまたsslにして返却してくれるという感じ。

# STAGE: 'production'

これコメントアウトしておくと、Let's encrypt せずに、オレオレ証明書を用いたhttps プロキシとして動作してくれるのでまずはこれでローカル環境などで動作確認をする。うまくhttps通信ができることを確認できたら、コメントを外してパブリックな環境にデプロイし、DNSを向けると、自動的に証明書を取得、設定してくれる。

heartrails
ハートレイルズは、新規事業の立ち上げに伴うウェブサービス、スマホアプリの企画、開発、運用に特化した開発会社です。
http://www.heartrails.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした