Re: Аналог ProxyPassReverse

Igor Sysoev igor на sysoev.ru
Ср Ноя 4 11:46:29 UTC 2015


On 04 Nov 2015, at 13:45, Alex Domoradov <alex.hha at gmail.com> wrote:

> Столкнулся с проблемой необходимости перевести apache на nginx. На данный момент в apache в настройках виртуалхоста есть директивы
> 
> ProxyPassReverse / http://javaclr.example.net/
> ProxyPassReverse / http://imagesclr.example.net/
> ProxyPassReverse / http://aspclr.example.net/
> ProxyPassReverse / http://vsclr.example.net/
> 
> В офф документации nginx - https://www.nginx.com/resources/wiki/start/topics/examples/likeapache/ говорится, что достаточно использовать proxy_pass и передавать соотв хедеры.
> 
> Но тут возникает вопрос, а как мне в одном location использовать несколько директив proxy_pass. Или единственный выход использовать map, что то вида
> 
> map $host $proxy_host {
>     default "";
>   "~(javaclr|imagesclr|aspclr|vsclr)\.example\.net" "$host";
> }
> 
> server {
>     listen 80;
>     server_name  javaclr.example.net imagesclr.example.net aspclr.example.net vsclr.example.net;
> 
>    location / {
>       proxy_pass http://$proxy_host;
>       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;
>    }
> }
> 


Аналог ProxyPassReverse - proxy_redirect:
http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_redirect
Но, возможно, правильнее не валить всё в одну кучу, а сделать несколько серверов.


-- 
Igor Sysoev
http://nginx.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20151104/1133483f/attachment.html>


Подробная информация о списке рассылки nginx-ru