Nginx:直接在text / plain中返回$ remote_addr

这听起来像是一个代码高尔夫问题,但是以text/plain方式返回$remote_addr的最简单/最简单的方法是什么?

所以,它应该以纯文本的forms返回IP地址的几个字节。

 216.58.221.164 

用例:一个API来学习客户端自己的外部(NAT)全球IP地址。

是否可以单独使用Nginx并且没有任何后端? 如果是这样,怎么样?

最简单的方法是:

 location /remote_addr { default_type text/plain; return 200 "$remote_addr\n"; } 

无需使用任何第三方模块(echo,lua等)

使用ngx_echo

 location /ip { default_type text/plain; echo $remote_addr; } 

使用ngx_lua :

 location /b { default_type text/plain; content_by_lua ' ngx.say(ngx.var.remote_addr) '; }