【问题标题】:Rails app on heroku - reverse proxy to bluehost WordPress site (https to http) - Chrome/FF won't load assets. How to fix?Heroku 上的 Rails 应用程序 - bluehost WordPress 站点的反向代理(https 到 http) - Chrome/FF 不会加载资产。怎么修?
【发布时间】:2014-07-10 18:07:49
【问题描述】:

我有一个在 heroku 上运行的 Rails 4.1 应用程序,它使用 heroku SSL 端点并具有有效的 SSL 证书 (config.force_SSL = true)。主站点上的 SSL 运行良好。我还有一个托管在 Bluehost 上的 Wordpress 博客,不使用 SSL。我正在使用rack-reverse-proxy gem 将博客呈现为 my-app.com/blog。

问题在于 Chrome 和 Firefox 都拒绝从博客加载资产,因为博客不安全。 我该如何解决这个问题?

技术细节

假设 Rails 应用程序是 https://my-app.com

Wordpress 博客(在 Bluehost 上)位于 http://myappblog.com

在我的 Wordpress 设置 -> 常规中,我将 Wordpress 地址和站点地址都设置为 https://my-app.com/blog(尽管如果 Wordpress 地址是 http://myappblog.comhttps://myappblog.com,也会出现此问题)。

Rails routes.rb

get "/blog" => redirect("/blog/")
# I have also tried get "/blog" => redirect("/blog/"), constraints: {protocol: /http/}

config.ru

require ::File.expand_path('../config/environment',  __FILE__)
use Rack::ReverseProxy do
  reverse_proxy(/^\/blog(\/.*)$/,
  'http://myappblog.com$1',
    opts = {:preserve_host => true})
end

Chrome 中的控制台错误

[blocked] 'https://my-app.com/blog/' 处的页面已加载完毕 HTTPS,但运行不安全的内容 'http://my-app.com/blog/wp-content/themes/independent-publisher/js/skip-link-focus-fix.js?ver=20130115': 此内容也应通过 HTTPS 加载。

【问题讨论】:

    标签: ruby-on-rails wordpress ssl heroku reverse-proxy


    【解决方案1】:

    我最终通过获得博客 (myappblog.com) 的 SSL 证书解决了这个问题。一旦博客站点和应用程序站点都安全,这不再是问题。

    【讨论】:

      【解决方案2】:

      我遇到了类似的问题。我使用了额外的 SSL 证书和 Wordpress HTTPS 插件,但我永远无法使用 rack-reverse-proxy gem 让所有东西都能很好地发挥作用。

      最后,我修复了它,但有一个警告:

      确保在您的 routes.rb 中明确设置您博客站点的完整路径 URL:

         #OLD get "/blog" => redirect("/blog/")
         get "/blog" => redirect("http://my-app.com/blog/")
      

      我还将“Wordpress 地址”和“站点地址”设置为 http://my-app.com/blog

      警告
      使用此设置,如果您要求 wp-admin 区域使用 SSL,则丢失的内容/css 错误可能会继续存在。在您的 wp-config.php 中使用define('FORCE_SSL_LOGIN', true); 至少可以让您保护登录,如果该页面上没有 CSS,它只会影响需要登录才能发布到该站点的人。对公众来说,一切都会好起来的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-01-07
        • 2015-02-21
        • 1970-01-01
        • 2018-12-28
        • 2014-05-14
        • 1970-01-01
        • 2019-02-15
        • 1970-01-01
        相关资源
        最近更新 更多