代理添加器
确定代理请求的地址
安装
这是一个 节点.js 模块
npm 登记。安装使用
npm install 命令数字 :
$ npm install proxy-addr
API 密码
var proxyaddr = require('proxy-addr')
代理addr( req, 信任)
使用给定地址返回请求地址 trust 参数.
这个 trust 参数是返回的函数 true 如果你相信的话
这个地址, false 如果你没有。 最近的无人信任的地址是
已经返回.
proxyaddr(req, function (addr) { return addr === '127.0.0.1' })
proxyaddr(req, function (addr, i) { return i < 1 })
这个 trust 参数也可能是单个 IP 地址字符串或
数组可信任的地址, 如普通IP地址, CIDR 格式化
字符串,或IP/netmask字符串.
proxyaddr(req, '127.0.0.1')
proxyaddr(req, ['127.0.0.0/8', '10.0.0.0/8'])
proxyaddr(req, ['127.0.0.0/255.0.0.0', '192.168.0.0/255.255.0.0'])
本模块还支持IPv6. 您的 IPv6 地址将正常化
自动(即:. fe80::00ed:1 等于 fe80:0:0:0:0:0:ed:1) (中文(简体) ).
proxyaddr(req, '::1')
proxyaddr(req, ['::1/128', 'fe80::/10'])
此模块将自动使用 IPv4- mapped IPv6 地址
在 IPv6 模式下也支持节点.js. 这意味着你这样做
无需同时指明 ::ffff:a00:1 财务报告和审定财务报表 10.0.0.1。 。 。 .
作为方便,本模块还取出某些预定义的名称 除了IP地址之外,还扩展为IP地址:
proxyaddr(req, 'loopback')
proxyaddr(req, ['loopback', 'fc00:ac:1ab5:fff::1/64'])
loopback: IPv4和IPv6回回路地址(如::1财务报告和审定财务报表127.0.0.1) (中文(简体) ).linklocal: IPv4和IPv6链接-本地地址(如fe80::1:1:1:1财务报告和审定财务报表169.254.0.1) (中文(简体) ).uniquelocal: IPv4 私人地址和 IPv6 独有本地地址 地址( 如fc00:ac:1ab5:fff::1财务报告和审定财务报表192.168.0.1) (中文(简体) ).
何时 trust 被指定为函数,将要求每个函数
地址以确定它是否是一个可信任的地址。 函数是
提供了两个论据: addr 财务报告和审定财务报表 i时 addr 是一个字符串
要检查的地址 i 是代表距离的数
从套接字地址.
代理addr.all(req,[信任])
返回请求的所有地址, 可选择在
初无所信. 此数组从最远处命令
(即说. arr[0] === req.connection.remoteAddress) (中文(简体) ).
proxyaddr.all(req)
可选 trust 参数与 trust
显示在 proxyaddr(req, trust)。 。 。 .
proxyaddr.all(req, 'loopback')
代理addr.compile( val) (英语)
编译参数 val 改为 a trust 函数。 此函数需要
相同的论点 trust 显示在 proxyaddr(req, trust) 财务报告和审定财务报表
返回适合的函数 proxyaddr(req, trust)。 。 。 .
var trust = proxyaddr.compile('loopback')
var addr = proxyaddr(req, trust)
此功能旨在针对每个请求优化使用.
建议为受托人预先汇编一个信托职能
配置并传递到 proxyaddr(req, trust) 每个请求.
测试
$ npm test
基准
$ npm run-script bench