11
Lokasyona göre proxypass yoluyla iki farklı arka uçta URL isteği için proxypass yapmak istiyorsanız en hızlı ve en temiz çözüm. Bu yapılandırma nginx geçişte "/ app1" veya vekil ve URL/komutu tanımıyor arka uca "/ app2" ile Nginx konum/geçiş için rewriten uri to proxy_pass
location /app1/ {
alias /var/www/ruby/public;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
try_files $uri $uri/ @ruby;
}
location @ruby {
proxy_pass http://127.0.0.1:3000;
}
location /app2/ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
try_files $uri $uri/ @other;
}
location @other {
proxy_pass http://127.0.0.1:8080;
}
.. Örneğin olarak
http://127.0.0.1:3000
sadece
/messages
geçmek istiyorum
http://<nginx>/app1/messages
numaralarına erişirken, ancak yukarıdaki yapılandırmada'u
http://127.0.0.1:3000/app1/messages
olarak geçirebilirsiniz. Aynı
/app2
Bu URI olamaz proxy_pass "' nedeniyle çalışmıyor Düzenli ifadeyle verilen konum bölümü ... "', bkz. http://stackoverflow.com/questions/21662940/proxy-pass-cannot-have-uri-part-in-location. – frhd