2011-09-12 16 views
0

自分のノードアプリケーションにcluster npmを使用しています。node.js cluster with https

var cluster = require('cluster'); 
var app = express.createServer({ 
    key: fs.readFileSync('privatekey.pem'), 
    cert: fs.readFileSync('certificate.pem') 
}); 

cluster(app) 
.use(cluster.logger('logs')) 
.use(cluster.stats()) 
.use(cluster.pidfiles('pids')) 
.use(cluster.cli()) 
.listen(443); 

しかし、私は、私は別のポートを使用する場合、それは細かい作業のポート443を使用するときに拒否されたアクセス権を得ました。明らかに443はhttps専用だから、どうすればそれを私のアプリに使うことができますか?

+0

あなたは下のポートにバインドするには、root /スーパーユーザ/管理者である必要があります。あなたは良いポート80にバインドできますか? – amoebe

+0

80にもバインドできません。うーん...あなたはrootとしてnode.jsアプリを実行するのが良いと思いますか? – Luc

+0

あなたはアプリをルートとして実行している間は権利を持ちません。 – Luc

答えて

4

デフォルトでは、ノードは低いポートにアクセスできません(あなたがrootでない限り)。どの港もそうするので恐れてはいけない。

通常、開発目的のために使用されるものが8443です:

.listen(8443); 
+2

+1あなたがそうのように8443に443を転送することができます:443 -j REDIRECT --to-ポート8443 その後、 はsudo をiptablesのセーブ--dport sudoのiptablesの-tのnat -A PREROUTING -p TCP rc.localに必ず追加してください – talentedmrjones