how to setup as caching reverse proxy for/rewritign global URLs
Thomas Hartmann
thomas.hartmann at desy.de
Wed Feb 20 11:37:23 UTC 2019
Hi all,
I would like to setup Nginx as a caching reverse proxy but with explicit
requests in the URL and rewriting all subsequent requests
Don;t know, if it really counts as reverse proxy and if it is
understandable, so an example ;)
For an original URL like
https://org.url.baz/user/repo/foo
I would like to be able to cache all request through nginx running at
my.domain.foo
but with an explicit "cache request" like
wget http://my.domain.foo/cache/http://org.url.baz/user/repo/foo
and rewrite all subsequent request and cache them.
So, I am looking for something similar to Internet Archive's memento proxy
https://web.archive.org/save/https://mailman.nginx.org/pipermail/nginx/2019-February/thread.html
Since my idea is no 'true' reverse proxy, the example [1] needs probably
a bit of extension and I am not sure, how to do the rewrites.
So far my attempts [2] were not really successful - but then I have not
much experiences in that direction and would be grateful, if someone has
an idea for me?
Cheers and thanks,
Thomas
[1]
https://www.nginx.com/resources/wiki/start/topics/examples/reverseproxycachingexample/
[2]
http {
proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=STATIC:10m
inactive=1d max_size=10g;
server {
# server_name *;
location /cache {
rewrite ^(.*)$ /VirtualHostBase/cache$1 break;
proxy_pass http://127.0.0.1:8080;
proxy_cache_revalidate on;
proxy_buffering on;
proxy_cache STATIC;
proxy_ignore_headers Cache-Control;
proxy_cache_valid any 1d;
proxy_cache_use_stale error timeout invalid_header updating
http_500 http_502 http_503 http_504;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Port 443;
proxy_set_header Host $host;
}
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5334 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20190220/a84fdf22/attachment.bin>
More information about the nginx
mailing list