簡體   English   中英

Nginx,Rails和Unicorn-找不到404文件

[英]Nginx, Rails, and Unicorn - 404 File not Found

每當我嘗試訪問Rails應用程序時,都會得到默認的Nginx 404頁面和/var/log/nginx/error.log中的以下錯誤:

2015/11/16 21:45:30 [error] 16240#0: *78 open() "/usr/local/apps/careers_api/current/public/application/test_aggregate.json" failed (2: No such file or directory), client: 70.184.87.69, server: careers-api.dynamynd.com, request: "GET /application/test_aggregate.json HTTP/1.1", host: "careers-api.dynamynd.com"

nginx.conf:

upstream api_server {
    server unix:/run/unicorn/unicorn-api.sock fail_timeout=0;
}

server {
    listen 443 ssl;

    server_name  abc.xyz.com;
    root /usr/local/apps/abc_xyz/current/public;

    ssl on;
    ssl_certificate /etc/ssl/certs/ssl-bundle.crt;
    ssl_certificate_key /etc/ssl/private/STAR_xyz_com.key;
    ssl_prefer_server_ciphers on;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4;

    location @app {
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_redirect off;
        proxy_pass http://api_server;
    }
}

我在同一台計算機上運行的其他應用程序上具有幾乎相同的配置,並且它們工作正常。

location @app是命名位置。 它只能從另一個位置塊間接調用。 您有一個隱式location /塊,但其中不包含調用上游服務的命令。

因此,除非該文件是位於/usr/local/apps/abc_xyz/current/public/application/test_aggregate.json的本地靜態文件,否​​則將出現404錯誤。

也許您缺少以下內容:

location / {
  try_files $uri $uri/ @app;
}

要么

try_files $uri @app;

在服務器塊中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM