gpt4 book ai didi

ruby-on-rails - heroku 上的 Rails 应用程序 - bluehost WordPress 站点的反向代理(https 到 http) - Chrome/FF 不会加载 Assets 。怎么修?

转载 作者:太空宇宙 更新时间:2023-11-03 12:55:15 26 4
gpt4 key购买 nike

我有一个在 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 都拒绝从博客加载 Assets ,因为博客不安全。 我该如何解决这个问题?

技术细节

假设 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] The page at 'https://my-app.com/blog/' was loaded over HTTPS, but ran insecure content from 'http://my-app.com/blog/wp-content/themes/independent-publisher/js/skip-link-focus-fix.js?ver=20130115': this content should also be loaded over HTTPS.

最佳答案

我遇到了类似的问题。我用额外的 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,它只会影响需要的人登录以发布到网站。对于普通大众来说,一切都会很好。

关于ruby-on-rails - heroku 上的 Rails 应用程序 - bluehost WordPress 站点的反向代理(https 到 http) - Chrome/FF 不会加载 Assets 。怎么修?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23794365/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com