两行 Nginx 配置返回客户端的 IP 地址
微wx笑 2019-11-18【网络工具】 10 0关键字:
通过两行 Nginx 配置开放一个API,用于返回客户端的 IP 地址。这是我使用Nginx设置“显示我的公共IP地址”而没有任何后端的方法(没有PHP,没有Nginx-Lua,...)。以下代码块可以解决
通过两行 Nginx 配置开放一个API,用于返回客户端的 IP 地址。
这是我使用Nginx设置“显示我的公共IP地址”而没有任何后端的方法(没有PHP,没有Nginx-Lua,...)。
以下代码块可以解决问题:
location /ip { default_type text/plain; return 200 $remote_addr; }
响应只是客户端的公网IP地址:
$ curl https://example.com/ip 2001:1b48:103::189
你可以访问“https://www.ivu4e.com/ip”试试
default_type text/plain 指令除了阻止Web浏览器尝试将响应下载为文件外,没有其他实用程序。
即,Web浏览器可以直接显示IP地址。
对于与端点交互的程序,它没有特殊用途。
彩蛋:JSON响应
想要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" }
你可以访问“https://www.ivu4e.com/json_ip”试试
我希望Nginx的小技巧可以为您节省一些维护时间。
英文原文:
Public IP Address API with two lines of Nginx config
本文为转载文章,版权归原作者所有,不代表本站立场和观点。