只需两行配置,Nginx 即可快速获取客户端公网 IP 的神技,你掌握了吗?
- 2019 年 11 月 24 日
- 筆記
本文将给大家介绍一个 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,版权归原作者所有