SHIHUC

好记性不如烂笔头,还可以分享给别人看看! 专注基础算法,互联网架构,人工智能领域的技术实现和应用。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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

Posted on 2019-01-04 13:24  shihuc  阅读(703)  评论(0编辑  收藏  举报

这样子的一个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就出问题。

 

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