Rewrite Referer in proxy_pass

Grigory Batalov bga at tepkom.ru
Mon Mar 13 20:18:45 MSK 2006


Здравствуйте!

Имеется проблема:

Один CGI-скрипт проверяет значение Referer, и, если оно частично
не совпадает с его собственным URL, перенаправляет клиента на
некий другой "URL по умолчанию".

CGI-скрипты обслуживаются сервером на другом порту (8081),
нежели nginx (8080), запросы туда пробрасывает proxy_pass:

        location /trac-cgi/ {
                proxy_pass      http://localhost:8081/trac-cgi/;
                proxy_redirect  default;
                proxy_set_header        X-Real-IP       $remote_addr;
                keepalive_timeout       0;
        }

При этом CGI-скрипт считает своим URL:

http://localhost:8081/trac-cgi/trac.cgi/logger/login

а в поле Referer получает вот это:

http://localhost:8080/trac-cgi/trac.cgi/logger/login

Нельзя ли переписать и Referer тоже каким-нибудь образом,
поскольку proxy_redirect в этом случае не помогает?

Или, может быть, есть другое простое решение?

-- 
 Григорий Баталов,
 программист
 ЗАО "Ланит-Терком"





More information about the nginx-ru mailing list