为什么我在添加 ssl Nginx 后使用 chrome 的 rails 5 应用程序中遇到 HTTP 问题



我有一个使用 capistrano 的 VPS 部署在 VPS 上的 5 轨应用程序(ubuntu 18.04 和 Nginx),起初一切正常,但我不得不为 HTTPS 安装安全证书 (letsencrypt),该应用程序在 HTTPS 中工作,但是当我尝试发出 post 请求时,我在浏览器中看到此消息"您想要的更改被拒绝了。

这就是我的日志显示的内容

HTTP Origin header (https://domainename) didn't match request.base_url (http://domainename)

看到一些链接谈论同样的问题,我尝试了他们的解决方案,但它对我不起作用

Devise 不登录谷歌浏览器

https://github.com/rails/rails/issues/22965

https://github.com/plataformatec/devise/issues/4847

注意

当我使用Mozilla浏览器时,我没有这个问题!!!但是我有它(Chrome,Opera,Safari...

我通过添加以下内容来修复它:

proxy_set_header X-Forwarded-Ssl on;
proxy_set_header X-Forwarded-Port 443;
proxy_set_header X-Forwarded-Host $ host;

在我的nginx.conf的第@puma部分中,我遇到了这个问题,因为我使用capistrano进行部署,它稍微改变了文件nginx.conf的配置我希望它能帮助某人!:)

最新更新