Rails 4 シングル ページ アプリケーションをレンダリングするように nginx を構成しようとしています。インデックス ページは Rails テンプレート内に存在しますindex.html.erb
。Javascript と CSS はどちらも CDN に含まれています。現在の構成ではページを読み込むことができ、サイト全体をナビゲートできます。この問題は、ページをリロードしようとしたとき、またはアドレス バーからページに移動しようとしたときに発生します: mysite.com/about
. 私は何が欠けていますか?私はシングル ページ アプリの経験がありますが、通常、ページは Rails の外部にあります。
私は使っている:
- レール4
- ユニコーン v4.3.1
- オープンレスト 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;
}
}