You can try to use njs here:

http://nginx.org/en/docs/http/ngx_http_js_module.html
http://nginx.org/en/docs/njs/njs_api.html#http - more about r object.

nginx.conf:
http {
        js_include http.njs;
        ...
        server {
                listen 9000;
                location / {
                        js_content redirect;
                }
        }
}

http.njs:
function redirect(r) {
        var fs = require('fs');
        var body = fs.readFileSync('/redirects/' + r.uri);
        var parts = body.split(' ');
        var code = Number(parts[0]);
        var uri = parts[1];

        r.return(code, uri);
}


On 16.07.2018 17:38, Torsten Curdt wrote:
I want to have files in the filesystem that specify the response code and redirect location instead of relying on the nginx configuration for it.

Imagine a file foo.ext looking like:

   301 https://some.host.com/foo.bla

On a GET of foo.ext it should result in a 301 to https://some.host.com/foo.bla

So far I haven't found a module for this. I presume it should not be too terribly hard to write a module for it but maybe I missed something? So I thought I rather double check if there is an easier route.

Any thoughts?

cheers,
Torsten


_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx

_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx

Reply via email to