Skip to content
This repository has been archived by the owner on Nov 16, 2020. It is now read-only.

⚙️ Gehirn RS2 Plus に Let's encrypt の証明書を設定する (RS2 Plus を解約したためアーカイブ)

License

Notifications You must be signed in to change notification settings

otofune/configure-rs2p-certificates

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

configure-rs2p-certificates

Gehirn RS2 Plus にローカルにある証明書を設定する

なにこれ?

現時点では certbot の吐く証明書だけ設定できる、ローカルの証明書を RS2 Plus に適用するツール

モチベーション

  • Let's encrypt の証明書を使いたいが、証明書の更新タイミングで手動でウェブコンソールから証明書を設定したくなかった
    • Let's encrypt 証明書は期限が短かい
    • そもそも手動って忘れるし面倒
    • 自動化したい!!!!!
  • 誰か書いてるかと思ったらないじゃん
  • ドキュメントにない API だが叩いてよさそうだったのでやってしまおう
    • ドキュメントを整備していなくてご不便をかけますが、すべての機能には対応する API があって Web コンソールはそれを実行しているので、ブラウザの Developer Console などをみると参考になるかと … https://twitter.com/yosida95/status/1146611221530943488

使い方

すでに

  • ドメインがある
  • ドメインが RS2 Plus に登録されている

ことは前提とする。

初回のみ

必要がある。

実行前には

  • Certbot で証明書を取得し、ローカルに証明書が存在する
  • 必要な環境変数がセットされている (後述)

必要がある。

設定は環境変数から行ない、次のように設定する。

# API 静的鍵の Basic から始まる行を全部コピーする
export GEHIRN_API_AUTHORIZE="(ここに Basic なんたらかんたらが入る)"
# GEHIRN_CONTAINER_ID, GEHIRN_CONTAINER_LABEL はどっちか指定すればよい
export GEHIRN_CONTAINER_ID="(アカウントID)"
export GEHIRN_CONTAINER_LABEL="(アカウントの名前)"
# certbot が証明書を置くディレクトリを指定する
export CERTBOT_DIRECTORY="/etc/letsencrypt"
# 対象のドメインを指定する
export SITE_DOMAIN="example.com"

あとは certbot のディレクトリにアクセスできる権限で実行するだけ!

npm install
npm run

エラーがなければなにも言わずに終了ステータス 0 で止まり、設定されているはず。

ありそうな Q&A

  • 注意点はある?
    • 環境変数を保存するファイルがあれば パーミッションを 700 に すべきです
      • Gehirn RS2 Plus の API は証明書の秘密鍵も返却するようで、キーがあれば証明書を取得できます
      • そうでなくても非常に権限の大きいキーとなるので慎重になるべきです
        • とはいえ RS2 Plus は VPS のようなサービスなので、一般的なレンタルサーバーよりは問題は少ないのでは。PHP から読み取れるとかが恐いくらい
  • これ Gehirn RS2 Plus でも動く?
  • では Gehirn RS2 Plus 上で Let's encrypt な証明書の取得/更新を自動で行える?

TODO

  • certbot 以外に対応する
  • 適当に書いたので TypeScript にする

About

⚙️ Gehirn RS2 Plus に Let's encrypt の証明書を設定する (RS2 Plus を解約したためアーカイブ)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published