2015-03-18 45 views
0

我有一个nginx配置正确服务了index.html,无论用户转到哪个URL。例如,如果用户转到:myapp.example.com/foo/bar,nginx会正确地提供index.html,以便ember.js可以处理/ foo/bar路由。nginx配置ember.js/rails /乘客使用历史api

但我还需要nginx将以/ api开头的网址传递给我的rails应用程序。这是我目前的配置:

server { 
    listen 80; 
    server_name myapp.example.com; 
    root /home/app/myapp/current/public; 

    passenger_enabled on; 
    passenger_user app; 
    passenger_ruby /usr/bin/ruby2.2; 

    location /api/ { 
    } 

    location/{ 
    try_files $uri $uri/ /index.html?/$request_uri; 
    } 

} 

服务器(nginx的,而不是轨)返回404时ember.js使任何API请求。我应该将哪些内容放入位置/ api /部分或我应该更改哪些内容?

回答

0

移动乘客选择的位置/ API部分似乎已经奏效,像这样:

server { 
    listen 80; 
    server_name myapp.example.com; 
    root /home/app/myapp/current/public; 

    location /api/ { 
    passenger_enabled on; 
    passenger_user app; 
    passenger_ruby /usr/bin/ruby2.2; 
    } 

    location/{ 
    try_files $uri $uri/ /index.html?/$request_uri; 
    } 

}