kumama go言語とかgolangとかGAEとかネットサービスとかその他色々・・・

18Mar/100

websockets を proxy 環境でも利用する場合の注意点

ええとコメント頂いたのでまじめに書くことにします。
(ちょっとアングラな世界でドライバ作ってました)

現在のwebsocketsのクライアント側の実装でproxy越えをしようとする場合、サーバ側で特殊な考慮をしておかないと繋がらない環境が多いと思います。

ちょっとややこしいので順を追って説明します。

・クライアント側の実装でproxy越えする際にはProxyに対し CONNECT を発行する
・proxyでCONNECTできるのは接続先ポートがhttps(443)に制限されている場合が多い
(squidはデフォルト。443以外のSSLポートをSquidでプロキシするには辺り参考)
・一方、サーバ側はというとhttps使ってるならhttpsの場合が多い。
・websocketsで443に繋いだとしてもSSLのハンドシェークは行われない

以上から、proxy経由でのwebsocketsをなるべく利用可能にするならrawな(SSLでない)websocketsの口をポート443であけて置く必要があります。このblogに張ったwebsockets chatはこの対応をやってます。(httpsは潰してますw)

ま、現状の実装(websockets, proxy)での話しなのでこの先は分かりませんが…。

Filed under: golang Continue reading
13Mar/100

sqlite断念

このBlog、pdo-sqliteで運用してたんですがwordpress 2.9系に成ってからかなり不安定な感じなのを修正しつつだましだまし使ってきましたが耐えきれずmysqlに再逆移行しました。

所々、文字化け等有るかもorz

Filed under: etc No Comments
9Mar/100

golangリリースニュース(w

2010-03-04のリリースで言語仕様に変更が有った模様。
http://go.googlecode.com/hg/doc/devel/release.html

strings.Bytes(x) -> []byte(x)
strings.Runes(x) -> []int(x)

って、結構当たり大きいような。

Filed under: golang Continue reading