プログラマ ずんべ の日記

zunbe

プログラマ ずんべ の日記
プログラマ ずんべ の日記

探し物は見つかりましたか? サイト内検索を試してください。

MCP-RC11 - バイク用レインコート MCP-RC11 - バイク用レインコート DOJIEMONさん、出産 DOJIEMONさん、出産

2006/07/20

【技術開発】SSLプロキシ・サーバ

このエピソードの続き。

 2005/10/01 プロキシ・サーバと高機能アクセス解析CGI

このブログを運営しているサーバは、WAN→LANへの内向きのプロキシ・サーバの配下にある。
これは、WANからのアクセス要求に対して、様々な条件でLAN内にある複数のサーバに接続を振り分けるためなのだが、とても重宝している。

現在は、http のリクエストだけを振り分けるようにプロキシ・サーバを稼動させていたのだが、今日、どうしても https のリクエストを振り分ける必要が生じた。
これまで、「ちょっと難しそうだなぁ~」というだけの理由でSSLプロキシ・サーバの構築をやらずにいたのだが、いい機会なので、トライしてみた。

プロキシ・サーバは、DeleGate を使用しているのだが、マニュアルを読んでみると、プロキシ・サーバへの入力と、プロキシ・サーバからの出力に、sslway というフィルタを挿入すればいいとある。
おや、なんとなく難しいかと思っていたが、なんか意外に簡単そうだ。

とりあえず、マニュアルにある通り、フィルタのディレクトリにある Makefile を修正し、SSLライブラリを参照するようにしてコンパイルしてみる…。
うー、リンクでエラーが発生。

--
$ make -f Makefile.go sslway
      :
## SSLEAY=/usr/local/ssl-0.9.8a/lib ---- the directory of SSLeay
## LIBSSL=/usr/local/ssl-0.9.8a/lib/libssl.a /usr/local/ssl-0.9.8a/lib/libcrypto.a ---- the SSLeay library
## specify proper SSLEAY and/or LIBSSL if the following failed.
cc -O -L../lib -o sslway sslway.o /usr/local/ssl-0.9.8a/lib/libssl.a /usr/local/ssl-0.9.8a/lib/libcrypto.a -lnsl ../lib/library.a ../lib/libsubst.a \
/usr/local/ssl-0.9.8a/lib/libssl.a /usr/local/ssl-0.9.8a/lib/libcrypto.a -lnsl
/usr/local/ssl-0.9.8a/lib/libcrypto.a(dso_dlfcn.o)(.text+0x37): In function `dlfcn_load':
: undefined reference to `dlopen'
/usr/local/ssl-0.9.8a/lib/libcrypto.a(dso_dlfcn.o)(.text+0x98): In function `dlfcn_load':
: undefined reference to `dlclose'
/usr/local/ssl-0.9.8a/lib/libcrypto.a(dso_dlfcn.o)(.text+0xc0): In function `dlfcn_load':
: undefined reference to `dlerror'
      :
--

ん~?
エラーメッセージを見ると、dlopen、dlclose、dlerror などが未定義と言っている。
どうも、「dlうんちゃら」みたいなライブラリが足りないようだ。

「man dlopen」してみると…。
おぉ、コードとリンク・オプションの例があった。

 gcc -rdynamic -o foo foo.c -ldl

なるほど、libdl.a を明示的にリンクする必要があって、そして、このライブラリは、RTLD_GLOBAL フラグが付いているのか。
Makefile を編集し直して、コンパイル。
成功!

オプションを指定して、DeleGate を起動してみる。
どれどれ。

 https://sample.zunbe.com/proxy/
  ※オレオレSSLなので、警告が表示されます。

おしおし、バッチリだ。

■参考文献

LinuxサーバHacks
Linuxサーバ
Hacks
Apacheハンドブック 第3版
Apache
ハンドブック
第3版
Apache セキュリティ
Apache
セキュリティ



このエピソードはいかがでしたか?

投稿者 zunbe : 2006/07/20 10:53:43


トラックバック 〔http://blog.zunbe.com/mt/mt-tb.cgi/422〕

コメント

コメントしてください






保存しますか?


スパム対策:
この入力フィールドに「520」と入力してください。


プログラマ ずんべ の日記:ずばヒット アマゾン