ぬまのどろ

namazuのゆるい日記。 ゆるり更新。

ブログを作った、がんばるぞい。

whoami

  • namazu
  • 大学4年
  • 某研究室の鯖缶をしていたり某大学のクラウドサービスとかを作っているひと
  • webフロントエンジニア見習いと言い張っているが、ここ一年はインフラに割いた稼働の方が多い

ブログ成立経緯

Twitterで酔った勢いでブログを作って技術記事を書くと騒ぎ立ててしまったので、エンジニア(見習い)ブログを作りました。 ここ最近、研究室の人が毎日ブログを書いていて、結構刺激を受け自分も挑戦しようかと思っていたので、良い踏ん切りになったと思います。

エンジニアライフログ的な物にして、自分が何時何していたのかとか、ある点から自分がどれだけ成長したかを測れるような物にしていきたいです。 あと文章力とかも鍛えられたらいいですね。 人に物伝えるのがとても苦手なコミュ障なので、克服に寄与するような物になれば良いです。

これからやること

ライフログ用にすることにしたので、毎日やらないと放棄しそうです。 なので毎日なんか書きます。なんか毎日の知見を1つは書くことにします。

早速今日したことを書いていきます。

Let's Encryptと戦った

某所のサービスでNginxの設定を弄れるAPIを作って、それを叩くことでサブドメインを生み出すってことをやっています。 新規サブドメイン追加時に、Let'sEncryptの証明書を取得してSSL設定をするようにしていました。

Let's Encryptの証明書は、ワイルドカードは使えないのですがマルチドメイン証明書にできます。  SANsに*付きのドメインを含めることは出来ないようなので、サブドメイン毎にSANsに追加しないとダメっぽいです。 なので、サブドメインの追加リクエストが来ると、新しくそのドメインをSANsに追加した証明書を発行するようにしていました。

別に使っている大学の証明書はSANsに*があるのでそういうのが使えると最高なんですけどねぇ。。。

Let's Encryptにはある程度の制限があって重要なところだけ書くと (https://letsencrypt.org/docs/rate-limits/ 曰く)

  • 新しい証明書は週20枚まで
  • 証明書のSANsは100件まで含められる

らしいです。 この制限は、発行したいドメインに掛かっていて hoge.teu.ac.jp とかで作っていたら .teu.ac.jpに対して週20枚の制限が掛かります。

最初、自分は制限について色々と勘違いしていて、SANsを追加したら新しい証明書発行扱いになることに気付いていませんでした(よくよく考えれば当然) 私のコードは、サブドメイン追加時に証明書を即時に発行していたので、20件/週以上のドメインを追加すると制限にひっかかってしまうようになりました。

これをここ数週間ずっとやっていて.teu.ac.jpのドメインに対して証明書発行制限をずっと掛けてしまっていました!(´・ω・`) どこかの研究室とかで最近全然発行できないんだが??っていう人が居たら私のせいです。 すみませんね(´・ω・`)

コードを改良して証明書の発行は12時間に1度行うように変更しました。 上手くスケジューリングを工夫すれば新規ドメインの追加時からあまり時間をおかずにLet's Encryptの証明書を更新できそうです。 rubyでやっているんですが、始めてTimerを使いました。timersというgemをtimerを使うためにいれたのですがデフォルトの高機能なtimerはrubyにないんですね 。 これでどうなったとしても週14枚までしか発行しないので上限はなんとかなりそうです。

ところでLet's Encryptはお願いしたら制限の除外リストに登録できるらしいんですけど、大学から依頼したらなんとかなったりするんですかね?