Windowsでインストールなしにhttpsサーバを立てるこのエントリーをはてなブックマークに追加

|

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.confDefine 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が動くなら色々楽なので生かしていきたい。