私のレール3アプリケーションをプロダクションでデプロイした後、私はパスが常にブラウザウィンドウに表示されないことに気付きました。たとえば、loginまたはmy_profileリンクには、http://my_app.com/loginまたはhttp://my_app.com/my_profileではなく、http://my_app.comと表示されます。ビューは変わり、機能しました。私はまたデータベースがヒットしているのを見て、ログからレンダリングされているビュー(これは単純なブラウザキャッシュの問題ではないと私に信じさせた)。ただ、http://my_app.com/loginに行くと、アプリケーションのリンクを使用すると、予想される場所に移動し、ログインURLは表示されたままになります。私はいくつかのブラウザ(firefox、opera、chrome)で試してみましたが、同じ動作をしました。アプリはnginx +パッセンジャーとnginx + thinクラスタの配下に配備されました。私の質問は何ですか?それはnginxの設定または私の生産環境の設定ですか?私はどこから始めるべきかわからない。railsルートパスがブラウザに表示されない(時々)
curl -v my_appを実行しています。番組
* About to connect() to my_app.com port 80 (#0)
* Trying xx.xx.xx.xx... connected
* Connected to my_app.com (xx.xx.xx.xx) port 80 (#0)
> GET/HTTP/1.1
> User-Agent: curl/7.21.1 (x86_64-apple-darwin10.4.0) libcurl/7.21.1 OpenSSL/1.0.0a
zlib/1.2.5 libidn/1.19
> Host: my_app.com
> Accept: */*
>
* HTTP 1.0, assume close after body
と
< Set-Cookie: ARPT=PKKIKIS10.0.81.64CKILJ; path=/
< Content-Type: text/html; charset=utf-8
< Status: 200
< X-Powered-By: Phusion Passenger (mod_rails/mod_rack) 2.2.5
< ETag: "fce6dec3543058bec16175466020a906"
< X-Runtime: 7
< Content-Length: 787
< Cache-Control: private, max-age=0, must-revalidate
< Server: nginx/0.7.62 + Phusion Passenger 2.2.4 (mod_rails/mod_rack)
< P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
< X-Cache: MISS from server.com
< Via: 1.0 server.com:8080
< Connection: close
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<title>http://my_app.com/</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<meta name="generator" content="Hover Redirect Service">
</head>
<frameset framespacing="0" rows="100%,*" cols="100%" frameborder="no" border="0">
<frame name="DDIRECTXYZZY2" scrolling="auto" src="http://xxx.xx.xxx.xxx" noresize>
<frame name="DDIRECTXYZZY" scrolling="no" noresize>
<noframes>
<h1><a href="http://xxx.xx.xxx.xxx">http://my_app.com/</a></h1>
<p>Please <a href="http://xxx.xx.xxx.xxx">click here</a> to view the non-framed versi on.</p>
</noframes>
</frameset>
</html>
だから、明らかにそれは問題です。すべてがDNSリダイレクトによって枠をつけられますか?セットアップはPhusion Passenger + nginxではありません。それはもともとは、今の薄い+ nginxだった。アプリのIPアドレスに直接行くときにも、物事はうまくあります。私がドメイン名に行くと、私はフレーム版を手に入れます。 (そのページ全体を読み込むなど)だけで、IPアドレスのcurl -v
応答はまた、標準的なルックス。
(あまりにも) - 目にあまりにも痛い質問の書式設定。 – Zabba
'curl -v http:// my_app.com'は何を返しますか? – DanSingerman