読者です 読者をやめる 読者になる 読者になる

ravelll の日記

よしなに

Let's Encrypt を利用して ravelll.org を HTTPS 化した

tech

f:id:ravelll:20161124121117p:plain

Amazon EC2 上で動かしている自身のポータルサイトを Let's Encrypt を利用して HTTPS 化したので手順をメモ。思った以上に簡単にできてびっくりした。


まず Let's Encrypt のクライアントを入手し、証明書を取得します。 Amazon Linux は公式にサポートされていないので実行には --debug フラグが必要です。 実行してしばらくすると term of conduct に従うか聞かれるので yes を選択。

wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
./certbot-auto certonly --standalone -d ravelll.org --debug

次に暗号鍵を交換する際に使われる DH パラメータの設定ファイルを生成します。 鍵長は 2048 bit で。

sudo mkdir /etc/nginx/ssl
cd /etc/nginx/ssl
sudo openssl dhparam 2048 -out dhparam.pem

後は生成した証明書を利用したり脆弱な暗号化スイートやプロトコルを利用しないようにしたりすべく nginx.conf を編集します。 自身では以下のようにしました。

server {
  listen 80;
  listen [::]:80;
  return 301 https://$host$request_uri;
}

server {
    server_name 'ravelll.org';

    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    ssl_session_timeout 5m;

    ssl on;
    ssl_prefer_server_ciphers on;
    ssl_stapling on;
    ssl_stapling_verify on;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

    ssl_certificate /etc/letsencrypt/live/ravelll.org/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/ravelll.org/privkey.pem;
    ssl_dhparam /etc/nginx/ssl/dhparam.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/ravelll.org/fullchain.pem;
    resolver 8.8.8.8;

    ssl_ciphers ECDHE+RSAGCM:ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:!EXPORT:!DES:!3DES:!MD5:!DSS:!aNULL:!eNULL;

    add_header Strict-Transport-Security 'max-age=31536000; includeSubDomains;';

    location / {
      root /var/www/;
      index index.html index.htm index.php;
    }
}

nginx を再起動すると、正常に https 接続ができ、http ページへのアクセスが https ページにリダイレクトされることが確認できた。

QALYS SSL LABS の SSL 脆弱性テストをやってみると無事 A+、めでたい!

https://www.ssllabs.com/ssltest/analyze.html?d=ravelll.org

References

"【ペパボ×プレイド】Tech Meetup 〜自動テスト・CI編〜" にてトークしてきました

event presentation tech

ウェブ接客プラットフォーム Karte を運営する株式会社プレイドさんと合同で行われた勉強会 "【ペパボ×プレイド】Tech Meetup 〜自動テスト・CI編〜" にてトークしてきました。

プレイドさんのテックブログにも開催エントリが公開されています。

tech.plaid.co.jp

今回は自動テストと CI がテーマということで、ペパボの CI 環境におけるプロダクトの変遷や drone.io を使った現在の構成、開発現場での利用事例について話しました。

speakerdeck.com

自身のトークについて書くと、今回のトークは20分の枠で、実は過去最長の枠だった(それまで過去最長は YAPC::Hachioji と修論発表の15分)。加えてペパボで drone.io が運用され始めた頃は休職していて導入フェーズの事情をあまり知らなかったり、drone.io の構造や仕様にも明るくなかったので発表が決まってから結構焦っていた。更に開催1週間前に初めて30分のトークセッションも任されていることを知り、心労が凄かった。

それからは当時の Issue を漁ったり drone.io のソースを読んだり社内の有識者にあたったりしつつ、比較的早い時期から資料作成にあたった。おかげで発表もトークセッションはそれなりに上手くこなせたと思うし、質疑応答や懇親会での会話も盛り上がって良かった。

他の方々のトークもどれも面白くて、E2E テストの高速化や安定化はどこも課題になっているんだな〜という学びもあった。同僚の @NAKANO_Akihito さんが話していた xUnit Test Patterns も全く知らず、興味深かったので内容を伺ったりした。発表者と同じ場にいるとあれこれすぐ聞けて便利ですね。

ありがたい機会や会場を提供いただいたプレイドのみなさま、ありがとうございました!お疲れ様でした!

IIDX 23 copula まとめ

game

f:id:ravelll:20161105235029p:plain f:id:ravelll:20161105235036p:plain f:id:ravelll:20161105235041p:plain

プレイの頻度とかモチベーションについてどういう経過があったのか全然覚えてないんだけれど、稼働初期にガッとやって途中3ヶ月くらいほとんどやらない期間があって稼働終了までちょいちょいとやってた感じだったと思う。まさか前作より回数増えるとは思わなかった。 多分 DP より SP の方がやや多くプレイしていて、おかげで DP が前にも増して下手になった。残存した全一は多分30曲くらい、意外と残った。

SINOBUZ は稼働して早1週間以上が経ってるわけだけど、特にやる気が出たりはしていない。あと最近知人からコントローラーを譲って(無料ではない)いただいて、大小問わずゲーセンに行って満たしていた IIDX 欲も多少は家で満たせるようになったので前作以上にプレイ回数が落ち込む気がする。いよいよ今作は全一が1曲も残らず終わるんじゃないだろか。

とは言え、ゲーセン繋がりの知人との交流が薄れるのは寂しいので、少なくともちょいちょいとは各所に顔を出していきたい気持ちです。

最強 TODO リスト

1月前くらいにこのようなやりとりがあって、まだ何も出来てないんだけど、コンセプトについて1人ブレストしたときのメモが出てきたのでシェアします。


  • やりたいことを忘れない
  • やりたいことができる状況になったとき思い出せる
  • やりたいことが思いついても人間が記憶しておく必要がない
  • やりたいことを管理するために何かしたくない
  • いい感じのTODO提案してほしい
  • クソリプと紙一重
  • トド
  • トドゥー
  • TODO作るとSUZURIでTシャツプリントされて勝手に送られてきてTODOを着れる
  • TODO登録するとバックグラウンドでTODOが終わる
  • TODOと金額設定しておくと誰かがやってくれる
  • TODOと思わなくなる
  • 人生は一度切り
  • 明日できることは明日やる
  • TODOが大きいと細分化しろって怒ってくる
  • 小さく早く
  • なんでやるの?って聞いてくる
  • 内省することでTODOがTODOじゃなくなる

OBOG 会に行った

土曜は今年の研究室の OB/OG 会で、八王子で飲んできた。 今年は50人くらい来ていて、いつもより多かった印象。

会では毎年この機会にしか会えない人たちとあれこれ話せて良かった。 Y社に就職した人に週休3日はどうなのか聞いたり、Web 系に転職したいという SIer の同期に何を求めているのか・それについての現実はどうか話したり、恩師におかげさまで WEB+DB に記事を書けましたと挨拶をしたりした。

顔見知った後輩はすっかり全員社会人になってしまい学生との繋がりが薄れてしまったので、今後も積極的に参加して繋がりを保っていきたい。

macOS Sierra の tmux + vim でコピーができなくなった

tech

OS を Sierra にアップグレードしたところ、tmux 上で起動した Vim だとヤンクしてもレジスタに何も登録されなくなってしまい、コピーもペーストもできなくなった。

あれこれやったところ解決できたんだけど、問題が明確にならないまま解決されたのでどれが効いたのかよく分からず。とりあえず動いたことは動いたので、メモ。

ちなみに Vimbrew install vim --with-lua --with-luajit --with-mzscheme --HEAD で入れていて、ターミナルは iTerm2 を使っている。

--

まず tmux と reattach-to-user-namespace を --HEAD オプション付きで install し直す。

$ brew uninstall --force tmux reattach-to-user-namespace
$ brew install tmux --HEAD
$ brew install reattach-to-user-namespace --HEAD

.tmux.conf に reattach-to-user-namespace の設定を追加。

set-option -g default-shell $SHELL
set-option -g default-command "reattach-to-user-namespace -l ${SHELL}"

設定後、OS を再起動。

--

これで直った。

各ソフトウェアのログを追ってすらいないので、症状が同じでも解決されない人もいそう。

鴨川ビール会議

RubyKaigi の翌日、川でビールを飲む体験をしてきた。

「東京の人はなんで川に入らないんですか」「渋谷って川ないんですか」「セルリアンとヒカリエとガーデンプレイスを繋ぐ川があると良さそう」などの発言がありました。

atnd.org