0

I want to use NGINX as dynamic local CDN with proxy_pass based on Referer header and $http_refere variable. The problem is that the Referer (variable too) header contains a "/" at the end of the URL. I want to delete trailing slash in $http_referer. How can I do it?

My NGINX location:

location / {
  add_header 'Access-Control-Allow-Origin' '*';
  add_header Referrer-Policy 'strict-origin';
  proxy_pass $http_referer;
}
Roman
  • 3
  • 1

1 Answers1

0

You can do it either via if block:

set $proxy $http_referer;
if ($http_referer ~ ^(.*)/$) { set $proxy $1; }

or via map directive:

map $http_referer $proxy {
    ~^(.*)/$  $1;
    default   $http_referer;
}

Then use the $proxy variable with the proxy_pass directive:

proxy_pass $proxy;
Ivan Shatsky
  • 13,267
  • 2
  • 21
  • 37