KOA2

一个简单的nodejs服务器

const Koa = require('koa')
const app = new Koa()
app.use( async ctx => {
  ctx.body = 'hello world'
})
app.listen( 3333 , ()=>{ 
  console.log(`nodejs server is running at port:3333`) 
})

在浏览器中打入http://127.0.0.1:3333
就能看见 hello world


获取用户端的ip地址

ctx.request和ctx.req的区别

  • ctx.request:是Koa2中的Context经过封装的请求对象,它用起来更直观和简单。
  • ctx.req:是content提供的node.js原生HTTP请求对象。这个虽然不那么直观,但是可以得到更多的内容,适合我们深度编程。
function getClientIp( req ){
      return req.headers['x-forwarded-for'] || // 判断是否有反向代理 IP
        req.connection.remoteAddress || // 判断 connection 的远程 IP
        req.socket.remoteAddress || // 判断后端的 socket 的 IP
        req.connection.socket.remoteAddress;
}
// conosle.log( getClientIp( ctx.req ) )
// -> ::ffff:127.0.0.1

你可能感兴趣的:(KOA2)