【发布时间】:2017-12-13 19:31:11
【问题描述】:
我正在设置一个前面有 nginx 的 Rails 应用程序。
我想要的是首先检查 URL 是否对 Rails 有意义然后提供公用文件夹的内容。
我做不到:
upstream extranet {
server localhost:3000;
}
server {
location / {
try_files @extranet $uri;
root /var/www/extranet/public;
}
location @extranet {
proxy_pass http://extranet;
proxy_read_timeout 90;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Ssl on;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Forwarded-Host $host;
client_max_body_size 100m;
}
}
我得到:*1 rewrite or internal redirection cycle while internally redirecting to "/" 错误。
似乎try_files $uri @extranet; 有效,但在我的情况下,首先检查 Rails 应用程序感觉更安全,因为公共文件夹可能会更改。
【问题讨论】:
标签: ruby-on-rails nginx