一般的に外に出るために HTTP proxy 他を経由する必要があってしかも HTTP と HTTPS くらいしか通らないし、443/tcp で ssh を上げても proxy で弾かれるみたいなネットワークが存在する。
そんな場合に良く使われる proxytunnel(http://proxytunnel.sourceforge.net/) というソフトがあり、 Apache を SSL で HTTP proxy としても動作させて特定の ssh 等の port に接続させることで SSH over HTTPS を実現することが出来る。(proxytunnel で HTTP proxy を二段経由させた後で SSH に接続する)
ただし Apache2.2 では SSL での HTTP proxy の動作にバグがあり、上記を実現するために proxytunnel 用のパッチを適用しておく必要があった。(https://bz.apache.org/bugzilla/show_bug.cgi?id=29744)
このバグは Apache2.4 において修正されている筈なのであるが、何故か Windows の proxytunnel で接続出来ないという現象が起こったのでその対処法を書いて置こうと思う。
proxytunnel の最新版は上のページの通り 1.9.0 で Windows 用のcygwinビルドもあるのであるが、
Debianなどのパッケージでは 1.9.0+svn250-5 までバージョンが上がっている(https://packages.debian.org/ja/jessie/proxytunnel)
そしてこの 1.9.0+svn250-5 だとパッチ無しの Apache2.4 で問題なく動作するのだ。
なのでこの 1.9.0+svn250-5 のソースを持って来て cygwin 環境で Windows 用にビルドするのが解決策となる。
cygwin でのビルド自体はライブラリが揃っていることと、manページの生成でエラーが出るので本体のビルドだけにしておいた方が良いこと以外はとくに特殊なことは無かった。