2015-03-18 48 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; 
    } 

}