目标是将mask_domain.com映射到masp.original_domain.com/something。为了实现这个目标,我为mask_domain.com设置了我的nginx,如下所示(这是一个rails应用程序):
server {
listen 80;
server_name mask_domain.com;
location /assets {
proxy_pass http://mask.original_domain.com/assets;
}
location /uploads {
proxy_pass http://mask.original_domain.com/uploads;
}
location /something {
proxy_pass http://mask.original_domain.com;
}
location / {
proxy_pass http://mask.original_domain.com/something/;
}
}
要验证我使用Devise。我无法登录,也没有看到任何cookie被设置。可能是因为:
MyApp::Application.config.session_store :cookie_store, :key => '_my_app_session', :domain => :all
和for:domain => :它真的是'.original_domain.com'
我会感谢任何提示或帮助: - )
答案 0 :(得分:1)
在我发布问题后,我开始考虑在nginx中重写cookie ...我解决了它:-) http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cookie_domain
我刚刚添加到服务器块:
proxy_cookie_domain .original_domain.com .mask_domain.com;
现在会话持续存在跨域。