Windows上でちょっとしたテストをするためにインストール作業なしでhttpsサーバを立てたいな、と思ったので手順のメモ。
いきさつ
今作ってるMojoliciousアプリにhttpsでアクセスするテストをしたいなあ、と。
hypnotoadならhttps受けられるようなのだけど、残念ながらWindows非対応。ということで「httpsを受けてポート3000に転送してくれるサーバ」がほしい。
とは言えちょっとしたテストなのでがっつりインストールとか設定とかが必要なのはめんどくさい。アーカイブ展開して最小限の設定でさくっと動作するものを探すことに。
試す
ネット検索してみたらWindows版Apacheをインストールするというページがヒット。ここで紹介されているApache Hausを試してみた。
まずは"Downloads"ページからファイルを適当に選択。今回は"Apache 2.4.x OpenSSL 1.0.2 VC14"の"Apache 2.4.29 x64"を選択してみた。
ファイル名はhttpd-2.4.29-o102n-x64-vc14-r2.zip
。
ダウンロードしたzipファイルを適当に展開。仮に展開したフォルダをbase
とする。
最低限修正する必要があるのはbase/Apache24/conf/httpd.conf
のDefine SRVROOT
の行。
SRVROOT "/base/Apache24"
という感じに変更する。
最小限の設定はこれだけで、あとはコマンドラインからbase/Apache24/bin/httpd.exe
を実行すれば起動。http://localhost とか https://localhost にアクセス出来る。Ctrl+Cで停止。お手軽。
mod_proxy設定
アクセスをMojoliciousで受けるためにmod_proxyの設定を追加する。
mod_proxy自体は同梱されているのだけど、デフォルトでは無効化されているので、まずは同じくhttpd.conf
内でコメントアウトされている:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
の2行を有効化。
SSL関係の設定はbase/Apache24/conf/extra/httpd-ahssl.conf
にあるので、<VirtualHost _default_:443>
指示子の中に:
ProxyPreserveHost on
ProxyPass / http://localhost:3000/
という感じで追加してやれば動作する。
まとめ
したかったのは「httpsを受けてリダイレクトする」ってだけなのでApacheを起動するのはやや大げさな感じもあるのだけど、最小限の設定だけで実現できたのでよかった。
将来もうちょっと凝ったことがしたいときでも簡単にApacheが動くなら色々楽なので生かしていきたい。