月別アーカイブ: 2011年10月

stoneでただのHTTPサーバをHTTPSサーバに大変身させてみた

すっかり間があいたけど気にすることはないよ、ただの気まぐれ。
で、ちょいとHTTPしか話せないサーバくんをどうしてもSSL化してHTTPS対応してるふりをさせなきゃいけなくなったので、stoneを使って実現させてみた。まあ、stoneなんて使うの10年ぶりくらい。
やりたいことは以下のとおり。

HTTPSで話したいクライアントくん <-- HTTPS --> localhost:8000(stone) <-- HTTP --> localhost:8080(HTTPしか話せないサーバくん)

ということで、早速stoneのインストールから。
Ubuntuなのでapt-get一発でいけた。

$ sudo apt-get install stone
$ stone -h
Oct  3 14:42:36.512085 140493228386080 stone 2.3e  http://www.gcd.org/sengoku/stone/
Oct  3 14:42:36.512301 140493228386080 Copyright(C)2007 by Hiroaki Sengoku <sengoku@gcd.org>
Oct  3 14:42:36.512313 140493228386080 using OpenSSL 0.9.8k 25 Mar 2009  http://www.openssl.org/
Usage: stone <opt>... <stone> [-- <stone>]...
opt:  -h opt            ; help for <opt> more
-h stone          ; help for <stone>
-h ssl            ; help for <SSL>, see -q/-z opt

うん、最新版の2.3eが入ったね。
では、やりたいことをやりましょう。

$ stone localhost:8080 8000/ssl

でちゃんとHTTPSでポート8000番叩いたら、あら不思議、HTTPしか話せないサーバくんがHTTPS話してるよ。stone恐るべし!
まあ、所詮オレオレ証明書なんで全然セキュアでないですが、今回はローカルで動けばいいのでオレオレでいいや。

どうでもいいけどstoneの作者の仙石浩明さん。今はKLabのCTOなんだ。すごいね、オレもがんばらなきゃ。