https://github.com/typester/gate
gate便利と聞いたので、とりあえず手元で動かしてみた。
githubにも対応したそうで、便利さが増したようである。
https://github.com/typester/gate/pull/1
go get github.com/typester/gate
typeさんのブログよく読んだら、バイナリダウンロード出来た。
https://github.com/typester/gate/releases
適当な場所に設定ファイルを置く。
今回は、~/.gate/config.yml に置くとする。
address: :9999 auth: session: key: hisaichi-gate info: service: github # https://github.com/settings/applications/new client_id: weiweiwei client_secret: we---i redirect_url: http://localhost:9999/oauth2callback restrictions: - pepabo # organization name (GitHub) htdocs: ./ proxy: - path: /app dest: http://127.0.0.1:5000 strip_path: yes
5000は適当なアプリをでっちあげた。
plackup -e "sub { [200, [], ["test app"]] } "
設定ファイルを指定して、実行する。
gate --conf ~/.gate/config.yml 2014/08/19 13:04:43 register proxy path:/app/ dest:http://127.0.0.1:5000 2014/08/19 13:04:43 starting static file server for: /Users/hisaichi5518 2014/08/19 13:04:43 starting server at :9999
htdocsは、指定しないと./になるようで、複数指定するのはコードを見る限り無理そうであった。あと~/が$HOMEになったりはしないようであった。
/app
を指定した場合、http://localhost:9999/app/
にアクセスする必要がある。http://localhost:9999/app
じゃダメらしい。
strip_pathは、 http://golang.org/pkg/net/http/#StripPrefix とのことです。
結構すんなり読める気がしたので、goの勉強にも良さそうだと感じた。