使用Heroku的反向代理(用于WordPress)将不会显示完整页面

我正在尝试使用反向代理服务在运行在Heroku上的rails应用程序上的/ EC2上的EC2上运行的Wordpress博客。 我已经使用了rack-reverse-proxy gem并按照这样的指示:

如何使用子目录而不是子域?

我的应用程序运行在http://myapp.com ,我的主要目标(wordpress)服务器运行在http://ec2-xx-xx-xx-xx.us-west-2.compute.amazonaws.com

直接访问时,目标服务器上的页面都可以正常运行。 但是, 无论我尝试通过反向代理的哪个页面,HTML都会被切断 。 我试过在Ubuntu(EC2)上使用我自己的Wordpress自定义版本以及像Bluehost这样的托管示例。 我试图访问简单,手工制作的HTML和文本测试文件,以及wordpress自动生成的php文件。 每次,文件都被切断。

  • 文本文件在~1000个字符后随机切断(这是可变的)
  • 同样适用于手工编码的HTML文件
  • WordPress文件似乎在 (通常是mid-word)期间被截断并呈现空
  • 如果页面存在(例如http://ec2-xx-xx-xx-xx.us-west-2.compute.amazonaws.com/test-post ,它将在myapp.com/blog/test-post加载(至少部分) myapp.com/blog/test-post ,所以我不知道重写是个问题。

我已经在wordpress /目标服务器上尝试了足够多的变量, 我倾向于认为它是Rails方面的东西 (无论是在本地运行“myapp”还是在Heroku测试服务器上运行,我都有同样的问题)。 除此之外,我被困住了。

关于我可能做错什么的任何想法? Apache日志中没有任何内容表明任何事情都被切断了。 我对此表示无足轻重,并且非常感谢任何帮助。

固定它!

挖掘机架反向代理gem,我发现我不是唯一一个遇到此问题的人:

看到内容长度被破坏的一些问题,这确保它匹配交付的体长。

该修复程序尚未合并到主分支中,但我分叉了自己的副本,应用了修复程序,并且它运行良好。 希望它会被合并到主人身上,没有其他人会担心这一点。

编辑

还有一件事可能对其他人有帮助,如果他们遇到Visual Editing Mode无法在wordpress下工作的问题:确保你还包含这个更新,以便正确传递标题。 gem在几年内还没有真正更新过,所以由你来完成并复制其他人的修复。 应用这两个修复程序,使用Heroku app / AWS和Ubuntu WordPress设置,一切正常。

Heroku将在一段时间后切断请求,这会导致您所看到的行为。

您基本上必须从wordpress博客中提取页面并在一次请求时通过Rack保留它 – 认为这可能是问题所在?