Rails [求助] 启用 Turbolinks 后, 重定向的问题

tommy13519261 · 2016年09月23日 · 最后由 tommy13519261 回复于 2016年09月29日 · 1932 次阅读

Rails 5 启用了 Turbolinks, 和 nginx 一起部署后遇到重定向问题。

原始 URL 和 进入 nginx 转发后的 url SecurityError: Failed to execute 'replaceState' on 'History': A history state object with URL

redirect_to new_session_path 

这样的写法不行了

手工改为

redirect_to get_host + '/session/new' 

有没有根本的解决办法? 求助

调试一下 redirect 的时候目标 URL 是什么,domain 有没有问题。

也许 nginx 反向代理的时候没有把 host 传到后端。

就是 proxy_pass 代理为本地地址了

将 _path 改为 _url 试下?

@tommy13519261 Rei 的意思是你的反向代理配置是否漏掉了 HOST 信息的传递, 例如:

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

注意 Host 的传递.

#5 楼 @lyfi2003 OK 了,多谢, 原来的配置 $host 没起作用

需要 登录 后方可回复, 如果你还没有账号请 注册新账号