- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
当我通过 https 请求页面时,我最终得到一个与原始请求具有完全相同 url 的表单操-6ren">
我有一个 Ruby on Rails 应用程序,它在模板中包含以下内容...
<form action="<%= request.original_url %>" method="post">
当我通过 https 请求页面时,我最终得到一个与原始请求具有完全相同 url 的表单操作,但不是 https://
它被生成为 http://
,导致混合内容错误。
我错过了什么?什么情况下会request.original_url
返回错误的方案?
我正在使用 Unicorn 和 nginx 运行 Ruby on Rails。
最佳答案
看起来这可能是问题的解决方案:
http://blog.seancarpenter.net/2013/09/02/rails-ssl-route-generation-with-nginx-and-unicorn/
因为站点在 nginx 中运行,nginx 正在终止 SSL,而 Rails 不知道是这种情况。
要将此信息传递给 Rails,需要设置 nginx 配置,以便在将请求转发到应用服务器时添加 X-Forwarded-Proto https
header 。
上述文章中的示例配置显示...
位置@app {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https; # SSL 的新 header
proxy_set_header 主机 $http_host;
proxy_redirect 关闭;
proxy_pass http://unicorn_something_server;
}
关于ruby-on-rails - 为什么 ActionDispatch::Request.original_url 返回错误的方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31171174/
我有一个 Ruby on Rails 应用程序,它在模板中包含以下内容... " method="post"> 当我通过 https 请求页面时,我最终得到一个与原始请求具有完全相同 url 的表单操
我是一名优秀的程序员,十分优秀!