new takyam();

Qiitaぽい話はQiitaに書いていくことにする気がする http://qiita.com/takyam

NginxでWebsocket使うのが予想以上に何も考えなくてよかった件

1.3.13からNginxがWebsocketに対応したわけですが、
これまで長いことport3000で運用していたGijirock'nをport80に移動させてみました。

とりあえず適当にNginxをアップデートして、Confiに以下を書く。

server {
    listen  80;
    server_name gijirockn.takyam.com;

    location / {
        proxy_pass http://127.0.0.1:3000/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

なんつーかたったコレだけ!他にいろいろ設定いるんかなーと思ってましたが、こんだけでProxyしてくれました。

別件でeveryauthからのFacebook認証が正常に動かない問題(ホストネームが一致しない的なエラー)が出たのでコードを修正して完了。

everyauth.facebook
   .appId(fbConfig.appID)
   .appSecret(fbConfig.secretKey)
+  .myHostname('http://gijirockn.takyam.com')
   .findOrCreateUser((session, accessToken, accessTokenExtra, facebookUserMetadata) ->
     session.userId = facebookUserMetadata.id
     session.save()

https://bitbucket.org/takyam/gijirockn/commits/38c0bb5ce6134f6e6d9d3163bff97dc2872a137b

ちゃんとHostnameを設定しないと localhost:3000 でFB認証しようとして、そんなのだめよ!ってFB側で怒られちゃう系らしいです!