前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >只需两行配置,Nginx 即可快速获取客户端公网 IP 的神技,你掌握了吗?

只需两行配置,Nginx 即可快速获取客户端公网 IP 的神技,你掌握了吗?

作者头像
iMike
发布2019-11-24 16:31:47
1.2K0
发布2019-11-24 16:31:47
举报
文章被收录于专栏:运维之美运维之美运维之美

本文将给大家介绍一个 Nginx 的小技巧,可以在不使用任何编程语言的情况下,直接返回客户端公网 IP 地址。

实现方法非常的简单,你只要在 Nginx 中配置以下内容就可以解决问题。

location /ip {    default_type text/plain;    return 200 $remote_addr;}

使用 curl 命令测试一下,我们从响应结果可以看到只显示了客户端的 IP 地址。

$ curl https://example.com/ip2001:1b48:103::189

default_type text/plain 指令除了阻止 Web 浏览器尝试将响应下载为文件外,并没有使用任何实用程序。即,Web 浏览器可以直接显示 IP 地址。

如果你想将以上结果以 JSON 格式输出,只需做一点小修改即可实现。具体方法如下:

location /json_ip {    default_type application/json;    return 200 "{\"ip\":\"$remote_addr\"}";}

现在,响应的就是一个漂亮的 JSON 格式的输出。

$ curl -s https://example.com/json_ip | jq{    "ip": "2001:1b48:103::189"}

至此,快速通过 Nginx 获取客户端公网 IP 地址的小技巧就演示完了。希望这个 Nginx 的小技巧可以为你节省一些维护时间。

本文翻译至:https://url.cn/5Th0D1e,版权归原作者所有

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 奇妙的Linux世界 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档