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側で怒られちゃう系らしいです!