在nginx上显示重定向问题

时间:2017-10-01 16:58:10

标签: ruby-on-rails ruby nginx

今天我在我的服务器上安装了一个名为staytus的服务。 它是一个ruby应用程序并在端口上运行:8787

但我不想在港口上奔跑:80。 我已经使用proxy_pass通过nginx重定向端口。 它工作但只显示纯文本。 就像不使用资产一样。

任何人都可以帮我吗?

Nginx site-available默认配置:

server {
    listen 0.0.0.0:80 default;
    listen [::]:80 default;
    server_name localhost;
    root /staytus/public;
    client_max_body_size 50M;
    location /assets {
      add_header Cache-Control max-age=3600;
    }
    location / {
      try_files $uri $uri/index.html $uri.html @puma;
    }
    location @puma {
      proxy_intercept_errors on;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto http;
      proxy_set_header Host $http_host;
      proxy_redirect off;
      proxy_pass http://127.0.0.1:8787;
    }
}

谢谢。

1 个答案:

答案 0 :(得分:0)

server {
    root /staytus/public;

    try_files $uri/index.html $uri @app;

    location @app {
        proxy_pass http://app;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_redirect off;
    }
    error_page 500 502 503 504 /500.html;
    client_max_body_size 4G;
    keepalive_timeout 10;
}
upstream app {
    # Path to Puma
    server http://localhost:8087 fail_timeout=0;
}

source