如何为rails单页面应用程序配置nginx?

时间:2014-07-02 17:41:56

标签: ruby-on-rails-4 nginx single-page-application unicorn openresty

我正在尝试配置nginx来呈现Rails 4单页面应用程序。索引页面存在于Rails模板index.html.erb中。 Javascript和CSS都在CDN上。当前配置允许加载页面,我可以浏览整个站点。当我尝试重新加载页面或尝试通过地址栏导航到页面时出现问题:mysite.com/about。我错过了什么?我有单页应用程序的经验,但通常页面是Rails的外部。

我正在使用:

  • Rails 4
  • Unicorn v4.3.1
  • Openresty 1.5.11.1

Nginx配置:

upstream rails_server {
  server unix:/var/www/mysite.org/api/shared/tmp/.unicorn.mysite-org.sock fail_timeout=0;
}

server {
    listen 80 default_server deferred; # for Linux
    server_name staging.mysite.org;
    client_max_body_size 5m;
    keepalive_timeout 5;

    location / {
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Host $http_host;
      proxy_redirect off;
      # proxy_cookie_domain api.local.mysite.org local.mysite.org;
      proxy_pass http://rails_server;
    }

    location ~* /application.*\.css$ {
      return 301 $scheme://css.mysite.org$request_uri;
    }

    location ~* /application.*\.js$ {
      return 301 $scheme://js.mysite.org$request_uri;
    }

}

0 个答案:

没有答案