Forum: NGINX Feature idea: retrieve set_real_ip_from (HttpRealipModule) from a text file online

Posted by Lorenzo Raffio (Guest)
on 2012-12-30 02:39
(Received via mailing list)
What about adding the possibility to retrieve a list of set_real_ip_from
from a text file online? I'm thinking about CloudFlare, that provides 
this
2 files (plain text): https://www.cloudflare.com/ips-v4 and
https://www.cloudflare.com/ips-v6

It could be useful also for other big projects where nginx is used as 
proxy.
Posted by Francis Daly (Guest)
on 2012-12-30 12:31
(Received via mailing list)
On Sun, Dec 30, 2012 at 02:38:09AM +0100, Lorenzo Raffio wrote:

Hi there,

> What about adding the possibility to retrieve a list of set_real_ip_from
> from a text file online?

With the "include" directive and "nginx -s reload", have you not enough
support in nginx to do this already?

An external script to periodically fetch the url contents, stick
"set_real_ip_from " at the start and ";" at the end (or do whatever 
other
manipulation is needed to make correct nginx.conf syntax) and save to
a local file, and then get nginx to use the updated config?

I'm not sure what extra benefit there would be to building something
like this in to nginx.

Perhaps I'm missing something,

  f
--
Francis Daly        francis@daoine.org
Posted by Lorenzo Raffio (Guest)
on 2012-12-30 14:34
(Received via mailing list)
The idea is to have it built-in, without having to arrange a script that
fetches an external file and appends each line to set_real_ip_from and 
adds
a ;
It would be a hundreds bytes add and IMO would help many. It's just an 
idea
anayway.


2012/12/30 Lorenzo Raffio <multiformeingegno@gmail.com>
Posted by Edho Arief (Guest)
on 2012-12-30 15:34
(Received via mailing list)
On Sun, Dec 30, 2012 at 8:33 PM, Lorenzo Raffio
<multiformeingegno@gmail.com> wrote:
> The idea is to have it built-in, without having to arrange a script that
> fetches an external file and appends each line to set_real_ip_from and adds
> a ;
> It would be a hundreds bytes add and IMO would help many. It's just an idea
> anayway.
>

do you really need this one liner built into nginx?

curl http://what-ever.com/list | sed 's/^/set_real_ip_from /;s/$/\;/' \
Posted by Lorenzo Raffio (Guest)
on 2012-12-30 21:18
(Received via mailing list)
Uhm, you're right.

Anyway if can be useful for others in the future here's the script to 
fetch
2 files and mix 'em together preserving the set_real_ip_from formatting:
{
    curl -s https://www.cloudflare.com/ips-v4
    printf '\n'
    curl -s https://www.cloudflare.com/ips-v6
} | sed -r 's/^(.+)$/set_real_ip_from \1;/g' > some-list.conf && nginx 
-s
reload


2012/12/30 Lorenzo Raffio <multiformeingegno@gmail.com>
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.