Sinatra App清除会话/ cookie

时间:2014-08-21 03:10:19

标签: session cookies nginx sinatra unicorn

我一直在使用rackup作为服务器开发Sinatra应用程序。现在是时候使用Nginx& amp;麒麟。

我遇到了未正确设置会话的问题。例如,我有Rack :: Csrf,它会出现一个无效的令牌。此外,尝试设置登录的基本会话不起作用。

以下是相关部分。 我的app.rb

use Rack::Session::Cookie, :path => '/'

Nginx conf

upstream subdomain.domain.com {
server unix:/tmp/unicorn.app.sock
    fail_timeout=0;
}


server {

server_name subdomain.domain.com;

root /home/user/app/public;
# port to listen for requests on
listen 1.1.2.3.4;

client_max_body_size 4G;

keepalive_timeout 5;

location / {
  try_files $uri @app;
}

location @app {
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header Host $http_host;
  proxy_redirect off;

  proxy_pass http://subdomain.domain.com;
}
}

感谢任何帮助

2 个答案:

答案 0 :(得分:0)

我有同样的问题,因为我放了

{{1}}

在config.ru文件中。当我把它移到Sinatra配置块时,问题就消失了。

答案 1 :(得分:-1)

似乎我需要设置一个域

使用Rack :: Session :: Cookie,:domain =>'subdomain.domain.com',:path => '/'

不确定为什么在使用rackup的开发中没有必要