這樣子的一個express簡單項目文件執行會出現403 Forbidden的錯誤:express
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(8088, 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(8088, '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
app.listen(port, [hostname], [backlog], [callback])
個人機器是win7 64位的X86機器,應用裏面不配hostname就出問題。函數
這個問題,不是全部的機器都會出現,也不是全部的瀏覽器會出現。。。ui