2014年03月01日

Node.JS+socket.ioでSSL通信に対応させる

プロキシサーバとしてnginxを利用しました。
nginxとsocket.ioの連携メモ、SSLの場合。

以下はnginxの設定

upstream node {
least_conn;
server 127.0.0.1:3000 fail_timeout=20s;
}

server {
listen 80;
listen 443 ssl;
server_name yourdomain.com

#SSL証明書
ssl_certificate 証明書の場所;
ssl_certificate_key 鍵の場所;

#httpsにリダイレクトする
if ($ssl_protocol = "") {
rewrite ^ https://$host$request_uri? permanent;
}

#Node.js用とsocket.ioのxhr-pilloing用
location / {
proxy_pass https://node;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X_FORWARDED_PROTO https;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_redirect off;
}

#socket.ioでWebsocketで接続する用
location /socket.io/1/websocket/ {
proxy_pass https://node;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
proxy_set_header Host $host;
}
}

Node.JS側は


//node server
http = require('https');
options.key = fs.readFileSync("鍵の場所");
options.cert = fs.readFileSync("証明書の場所");
options.passphrase = "パスフレーズ";
server = http.createServer(options, app);

//socket.io
var io = socketio.listen(server, {secure : true});

posted by Syuhei Hiya at 00:47| Comment(0) | TrackBack(0) | メモ

2013年05月17日

foreverでの運用環境で手動ガーベージコレクションする(node.js v0.8.x)

node.jsを使っていると、メモリ使用量がすんごい増えていくことがあります。

使用量は

process.memoryUsage();

とかで見ることが出来ます。
こんなときは手動でガーベージコレクションを行うようにします。

if(global.gc) {
global.gc();
}

を適当な場所に入れます。

手動gcを行うときは、nodeを起動するときに、オプションを付けないと行けません。

node --expose_gc app.js


そしてforeverを使っているときは、以下のようにします。

forever restart -c 'node --expose_gc' app.js


これで手動gcが動きます。

環境は node.js v0.8.9 でした。
タグ:nodejs forever gc
posted by Syuhei Hiya at 20:44| Comment(0) | TrackBack(0) | メモ

2011年11月15日

GWTでコードエディタ

GWTでコードエディタWidgetみたいなのを作りたいと思って調べてみた。

要するにtextareaのように文字を入力できて、自動的に文字色を変えられればいいわけだけど。

JavaScriptでコードエディタみたいなことをするには、ここに色々書いてあった。→http://d.hatena.ne.jp/lurker/20060930/1159617939

codemirrorってやつのGWT版(ラッパー?)もあるみたい。
http://code.google.com/p/gwt-codemirror/
posted by Syuhei Hiya at 22:51| Comment(0) | メモ
Powered by さくらのブログ