パルカワ2

PerlとRubyとイチャラブ

gate使ってみた

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の勉強にも良さそうだと感じた。