<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif">т.е. надо делать как то так?<br><br>server {<br>    listen 80;<br>    server_name  www<a href="http://imagesclr.example.net" target="_blank">.example.net</a>;<br><br>   location ~ \.jsp$ {<br>      proxy_pass http://<a href="http://javaclr.example.net" target="_blank">javaclr.example.net</a>:8080;<br>      proxy_set_header X-Forwarded-Host $host;<br>      proxy_set_header X-Forwarded-Server $host;<br>      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br>      proxy_redirect http://<a href="http://javaclr.example.net" target="_blank">javaclr.example.net</a>:8080/ /;<br>   }<br><br>   location ~ \.asp$ {<br>      proxy_pass http://<a href="http://javaclr.example.net" target="_blank">aspclr.example.net</a>:8080;<br>      proxy_set_header X-Forwarded-Host $host;<br>      proxy_set_header X-Forwarded-Server $host;<br>      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br>      proxy_redirect http://<a href="http://javaclr.example.net" target="_blank">aspclr.example.net</a>:8080/ /;<br>   }<br><br>   location ~ \.(png|jpg|js|css)$ {<br>      proxy_pass <a href="http://s3aws">http://s3aws</a><a href="http://javaclr.example.net" target="_blank">.example.net</a>;<br>      proxy_set_header X-Forwarded-Host $host;<br>      proxy_set_header X-Forwarded-Server $host;<br>      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br>      proxy_redirect <a href="http://s3aws">http://s3aws</a><a href="http://javaclr.example.net" target="_blank">.example.net</a>/ /;<br>   }<br>}<br><br>Из того что я понял apache лишь выполняет роль обычного reverse proxy, просто вся логика у него реализована через .htaccess. например там есть такие строки<br><br>RewriteRule (.*)\.(jsp|do)$ <a href="http://javaclr.example.net/$1.$2">http://javaclr.example.net/$1.$2</a> [QSA,P]<br><br>RewriteRule (.*)\.asp$ <a href="http://aspclr.example.net/$1.asp">http://aspclr.example.net/$1.asp</a> [P]<br><br>RewriteRule ^(applet) <a href="http://javaclr.example.net/$1">http://javaclr.example.net/$1</a> [P]<br><br>RewriteRule (.*)\.(jpg|gif|png|js|css|html|zip|jar|xml|class|pdf|swf|mp4|ico)$ <a href="http://images.example.net.s3-website-us-west-2.amazonaws.com/$1.$2">http://images.example.net.s3-website-us-west-2.amazonaws.com/$1.$2</a> [NC,P]<br><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">ну и т.д.<br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2015-11-04 13:46 GMT+02:00 Igor Sysoev <span dir="ltr"><<a href="mailto:igor@sysoev.ru" target="_blank">igor@sysoev.ru</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div><div class="h5">On 04 Nov 2015, at 13:45, Alex Domoradov <<a href="mailto:alex.hha@gmail.com" target="_blank">alex.hha@gmail.com</a>> wrote:<br><div><br><blockquote type="cite"><div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif">Столкнулся с проблемой необходимости перевести apache на nginx. На данный момент в apache в настройках виртуалхоста есть директивы<br><br>ProxyPassReverse / <a href="http://javaclr.example.net/" target="_blank">http://javaclr.example.net/</a><br>ProxyPassReverse / <a href="http://imagesclr.example.net/" target="_blank">http://imagesclr.example.net/</a><br>ProxyPassReverse / <a href="http://aspclr.example.net/" target="_blank">http://aspclr.example.net/</a><br>ProxyPassReverse / <a href="http://vsclr.example.net/" target="_blank">http://vsclr.example.net/</a><br><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">В офф документации nginx - <a href="https://www.nginx.com/resources/wiki/start/topics/examples/likeapache/" target="_blank">https://www.nginx.com/resources/wiki/start/topics/examples/likeapache/</a> говорится, что достаточно использовать proxy_pass и передавать соотв хедеры.<br><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">Но тут возникает вопрос, а как мне в одном location использовать несколько директив proxy_pass. Или единственный выход использовать map, что то вида<br><br>map $host $proxy_host {<br>    default "";<br>  "~(javaclr|imagesclr|aspclr|vsclr)\.example\.net" "$host";<br>}<br><br>server {<br>    listen 80;<br>    server_name  <a href="http://javaclr.example.net/" target="_blank">javaclr.example.net</a> <a href="http://imagesclr.example.net/" target="_blank">imagesclr.example.net</a> <a href="http://aspclr.example.net/" target="_blank">aspclr.example.net</a> <a href="http://vsclr.example.net/" target="_blank">vsclr.example.net</a>;<br><br>   location / {<br>      proxy_pass <a href="http://$proxy_host" target="_blank">http://$proxy_host</a>;<br>      proxy_set_header X-Forwarded-Host $host;<br>      proxy_set_header X-Forwarded-Server $host;<br>      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br>   }<br>}<br></div></div><br></blockquote></div><div><br></div></div></div><div>Аналог ProxyPassReverse - proxy_redirect:</div><a href="http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_redirect" target="_blank">http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_redirect</a><br><div>Но, возможно, правильнее не валить всё в одну кучу, а сделать несколько серверов.</div><span class="HOEnZb"><font color="#888888"><div>
<div style="color:rgb(0,0,0);letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;word-wrap:break-word"><div style="color:rgb(0,0,0);letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;word-wrap:break-word"><div style="color:rgb(0,0,0);letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;word-wrap:break-word"><br><br>-- <br>Igor Sysoev<br><a href="http://nginx.com" target="_blank">http://nginx.com</a></div></div></div>
</div>
<br></font></span></div><br>_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br></blockquote></div><br></div>