vue2-element-dict、vue3-element-dict、vue2-vant-dict、vue3-vant3-dict字典包,vue2-water-marker、vue3-water-marker防篡改的水印插件包,vue-axios-optimize请求优化包,大家有兴趣的可在npm官网搜索了解下,有疑问可咨询小布。
http://www.xiaobusoft.com 爆米花小布官方域名,有兴趣的可查阅。
前言
大家好,我是沈小布,勤能补拙,实践是检验真理的唯一标准是我的座右铭,帮助同行人员少走弯路,提高开发效率,提升代码质量是我的初心。
主题
今天的主题是使用Egg获取客户端请求的IP地址,并解决上线后获取的IP地址一直为127.0.0.1的问题。
egg项目配置及获取
在config/config.default.js中配置
// 注意,开启此模式后,应用就默认自己处于反向代理之后,
// 会支持通过解析约定的请求头来获取用户真实的 IP,协议和域名。
// 如果你的服务未部署在反向代理之后,请不要开启此配置,以防被恶意用户伪造请求 IP 等信息。
config.proxy = true;
获取IP地址
//登录日志
async loginLog(){
const { ctx, app } = this;
const new_ip = ctx.request.ip; // 获取ip
console.log(new_ip,'-----ip--------')
}
nginx配置
配置反向代理,解决跨域问题
#访问 API 请求服务器的代理api 服务在本地启动
location /api/ {
//127.0.0.1:7001/; :
}
此时查看登录日志,登录的IP地址都是127.0.0.1。改为如下配置,即可解决问题。
#访问 API 请求服务器的代理api 服务在本地启动
location /api/ {
# 获取ip地址 前3个开启
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-Port $remote_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:7001/;
}
总结
这就是使用Egg获取客户端请求的IP地址,并解决上线后获取的IP地址一直为127.0.0.1的问题!希望对您有所帮助,感谢支持。
写在最后
希望我的文章能够或多或少帮助到大家,如果有点帮助,可分享给更多人,予人玫瑰,手有余香。最后可以的话三连击是对小编写文最大的动力。
公众号
:爆米花小布
专注分享web
前端相关技术文章
、工具包、软件工具等,如果喜欢我的分享,给 小布 点一个赞
👍 或者 ➕关注
都是对我最大的支持。