カレンダー

2019/08
    
       

広告

Twitter

記事検索

ランダムボタン

SSL化を阻んでいたのは

by 唐草 [2022/08/08]



 重要なことなので昨日ツイートもしたけれど、カラクサラボが完全にSSL化した。とは言え、技術寄りな話題なので普通にアクセスしている人にとっては「なんのこっちゃ?」という感じだろう。基本的に気にしないでOK。
 SSLとは通信の暗号化。ユーザ名やパスワードといった個人情報を入力する機会がなければ暗号化の必要なんてない。それでも、とりあえず暗号化しておこうというのが今の潮流。その流れに沿ってぼくも2年前からSSLを導入している。
 でも、完全移行はできていなかった。従来の暗号化していないhttp通信とSSLで暗号したhttps通信の両方を併用していた。だから、httpとhttpsのどちらでアクセスしても同じものが表示されていた。これはあまりよろしくない状況だ。
 本来であれば、httpが来たら強制的にhttpsに切り替えるのが望ましい。それをしていなかったのは、ぼくの技術力不足が原因。
 このサーバでは、チャット用の小さな自作プログラムが動いている。ブラウザから利用するチャットなので、httpと互換性のある独自のプロトコルを使っている。これを暗号化通信に対応させるには、プログラムを書き換えてサーバがhttpsの暗号を扱えるようにする必要がある。
 ところが、サーバのネットワークI/Oが完全に自作なことが仇となった。自力でhttpは実装できたけれど、暗号の扱い方をわかっていないのでhttps互換I/Oを実装できなかった。
 だから、チャットのためだけにhttpを使い続けていた。
 しかし、よく考えてみれば自力でhttps互換I/Oを作る必要なんて全然なかった。Webサーバにプロキシ設定をして、チャットの通信が来たら暗号化を解いて内部的に転送すればいいだけだった。こう書くと難しそうに聞こえるが、設定ファイルに5行加えるだけのこと。
 SSL完全移行が2年も遅れたのは、なにもかも自前でやろうとしてたのが原因。自分ができないことをさっさと認めていればこんなに時間はかからなかったはず。「餅は餅屋に」の精神でhttpsはWebサーバに任せるべきだった。