我按照Railscasts第293集中的描述设置了Nginx和unicorn.
当我尝试重定向时,例如
class PostsController < ApplicationController
def show
redirect_to posts_path,:notice => "Test redirect"
end
end
我被重定向到http:// unicorn / posts而不是http://mydomain.com/posts
这是我的应用程序的Nginx.conf
upstream unicorn {
server unix:/tmp/unicorn.scvrush.sock fail_timeout=0;
}
server {
listen 80 default deferred;
# server_name example.com;
root /var/apps/current/public;
try_files $uri/index.html $uri @unicorn;
location @unicorn {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://unicorn;
}
keepalive_timeout 5;
}
最佳答案
这对我有用:
原文链接:https://www.f2er.com/nginx/434815.htmlupstream unicorn {
server unix:/tmp/unicorn.example.sock fail_timeout=0;
}
server {
listen 80;
listen localhost;
server_name www.example.com;
keepalive_timeout 5;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# this is required for HTTPS:
# proxy_set_header X-Forwarded-Proto https;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://unicorn;
}
}
在我的./config/unicorn.rb文件中:
# Listen on a Unix data socket
listen "/tmp/unicorn.example.sock",:backlog => 64