рельсы приложения отображают пустой HTML - PullRequest
1 голос
/ 26 октября 2011
  • Рубин 1,92
  • Рельсы 3.1.1
  • Nginx 1.1.6
  • Пассажир 3.0.7

Мое приложение rails отлично работает на моем ноутбуке, но не работает на сервере Amazon. Я открываю его в Chrome, браузер ничего не отображает, HTTP-заголовок, как показано ниже:

HTTP/1.1 200
Content-Type: text/html; charset=utf-8
Content-Length: 0
Connection: keep-alive
Status: 302
X-Powered-By: Phusion Passenger (mod_rails/mod_rack) 3.0.7

Если я запускаю rails server, это работает, я могу получить правильный HTML. Nginx не может сгенерировать правильный content-length?

nginx config

server {
        listen 8000;
        server_name xxxx;
        root /xxx/xxx/public;
        passenger_enabled on;
        rails_env development;


      location = /favicon.ico {
        expires    max;
        add_header Cache-Control public;
      } 


      location ~* \.(png|gif|jpg|jpeg|css|js|swf|ico)(\?[0-9]+)?$ {
        access_log off;
        expires max;
       add_header Cache-Control public;
      }

}

http необработанное сообщение ниже

всего возвращено 3496 байт, неправильная длина содержимого, поэтому браузер действительно читает остальные html

HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 0
Connection: keep-alive
Status: 200
X-Powered-By: Phusion Passenger (mod_rails/mod_rack) 3.0.7
X-UA-Compatible: IE=Edge
ETag: "12aa68a45bf774886311f827d2149cbe"
Cache-Control: max-age=0, private, must-revalidate
X-Runtime: 0.499998
Server: nginx/1.1.6 + Phusion Passenger 3.0.7 (mod_rails/mod_rack)

<!DOCTYPE html>
<html>
<head>
  <title>xxxx</title>
......

1 Ответ

0 голосов
/ 26 октября 2011

HTTP-статус 302 - это обычно перенаправление. Есть ли другие заголовки или содержимое тела? Я ожидаю заголовок местоположения, сообщающий браузеру, куда перенаправить.

...