ssl - 为什么在添加 ssl Nginx 后我使用 chrome 的 Rails 5 应用程序出现 HTTP 问题?

标签 ssl nginx ruby-on-rails-5

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

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

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

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

Devise doesn't login in Google Chrome

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的配置 我希望它能帮助别人! :)

关于ssl - 为什么在添加 ssl Nginx 后我使用 chrome 的 Rails 5 应用程序出现 HTTP 问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54047622/

相关文章:

ruby-on-rails - Railscast 中的建筑测量 Rails 5

混帐 : SSL Certificate Issues

ssl - 在 SWI-Prolog 中打开并检查 Pem 文件

SSL 链不完整

linux - 如何使用 Nginx 服务器在 Ubuntu 服务器上部署 dotnet 核心应用程序?

css - rails 5-bootstrap-sass 导航栏响应不工作

ruby-on-rails - Elasticsearch 6.3 术语过滤器不适用于整数列

ssl - HAProxy 如何管理 ip 地址上的证书?

Facebook 信使平台。使用 SSL 设置 Webhook

python - 在 nginx 上运行 django 时提供测试页面