这样子的一个express简单项目文件执行会出现403 Forbidden的错误:
var express = require('express');
var app = express(); app.use(express.static('public')); app.get('/', function (req, res) {
res.send('Hello World');
}) var server = app.listen(, function () { var host = server.address().address
var port = server.address().port console.log("应用实例,访问地址为 http://%s:%s", host, port) })
但是呢,这样的就不会出现错误,正常:
var express = require('express');
var app = express(); app.use(express.static('public')); app.get('/', function (req, res) {
res.send('Hello World');
}) var server = app.listen(, '127.0.0.1', function () { var host = server.address().address
var port = server.address().port console.log("应用实例,访问地址为 http://%s:%s", host, port) })
差别就在于我在listen函数里指定了hostname。
app.listen(port, [hostname], [backlog], [callback])
我的机器是win7 64位的X86机器,应用里面不配hostname就出问题。
这个问题,不是所有的机器都会出现,也不是所有的浏览器会出现。。。