ruby-on-rails – nginx:从命名位置的proxy_pass中删除路径
我有这个nginx配置来提供rails应用程序:
location ^~ /api/ {
alias /srv/www/rails/public/;
try_files $uri @unicorn;
}
location @unicorn {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://127.0.0.1:2007;
}
我想从路径的开头删除/ api /,然后将其传递给rails app,但由于它是一个命名位置,我不能在proxy_pass指令的末尾添加“/”,如何在传递请求之前删除/ api /到铁轨?
解决方法:
使用:
location @unicorn {
rewrite ^/api(.*)$$1 break;
...
}
有关详情,请参见this document.