ほぼ雑記的メモ
var http = require('http'); http.createServer(function (request, response) { response.writeHead(200, {'Content-Type': 'text/plain'}); response.end('Hello World\n'); }).listen(3000, '127.0.0.1');これを実行したあと、ブラウザで
var http = require('http'); http.createServer(function (request, response) { response.writeHead(200, {'Content-Type': 'text/plain'}); response.end('Hello World\n'); }).listen(80, '127.0.0.1');と修正すると
node.js:201 throw e; // process.nextTick error, or 'error' event on first tick ^ Error: listen EACCES at errnoException (net.js:640:11) at Array.0 (net.js:726:28) at EventEmitter._tickCallback (node.js:192:40)みたいな例外が発生して動きません。1023番までは一般ユーザではlistenできないからです。rootでなら動きますが、それじゃprocessがrootで動いちゃいます。なんかあったときに(セキュリティの問題とか)全部システムがのっとられてしまうかもしれない。
var http = require('http'); http.createServer(function (request, response) { response.writeHead(200, {'Content-Type': 'text/plain'}); response.end('Hello World\n'); }).listen(80, '0.0.0.0', function(){process.setuid(80)});
Powered by Red Leaf ( Rev. 7ac7726ec ), © Issei Numata, 2007-2025
コメント一覧