一个简单的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
网友评论