express中遇到的一个小问题“403”

这样子的一个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(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.listen(port, [hostname], [backlog], [callback])

我的机器是win7 64位的X86机器,应用里面不配hostname就出问题。

这个问题,不是所有的机器都会出现,也不是所有的浏览器会出现。。。

原文地址:https://www.cnblogs.com/shihuc/p/10219323.html