nginx & internal & redirect
BieZax
nginx-forum at nginx.us
Mon Aug 25 14:51:50 UTC 2014
Добрый день!
Захотелось мне авторизовываться через mysql, нормальных модулей не
нашел и нарисовал свой костыль в виде перлового демона, который
слушает на порту 8080 и в случае удачной авторизации возвращает
`"X-Accel-Redirect: /ok" . $url`. В конфиге nginx эта конструкция
выглядит следующим образом:
location /test/ {
proxy_set_header X-CAuth-Realm "test";
proxy_set_header X-CAuth-Base "test";
proxy_set_header X-CAuth-Table "test";
proxy_set_header X-CAuth-GField "test";
proxy_set_header X-CAuth-PassF "password";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8080;
}
location /ok/test/ {
internal;
proxy_pass https://hostname/test2/;
proxy_redirect https://hostname/test2/ /ok/test/;
}
location /test2/ {
# rewrite ^/test2/$ /test2/qwe.pl redirect;
proxy_pass http://127.0.0.1:8081/test/;
proxy_redirect http://127.0.0.1:8081/test/ /ok/test/;
}
И все прекрасно работало, пока не появился редирект(закоменчен). После
попадания в редирект меня перекидывает сюда http://ok/test/qwe.pl.
Никак не могу понять, откуда берется "ок", может кто-то сможет мне
подсказать ?
ЗЫ Рабочая конструкция, естественно, несколько сложнее, и вместо test2
отдельный бэкенд.
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252809,252809#msg-252809
Подробная информация о списке рассылки nginx-ru