X-Accel-Redirect 从外部工作,而不是从内部工作

X-Accel-Redirect works from outside, but not from inside

这是我的事。在 nginx/dokku 上获得了 php 应用程序 运行。

我有一个正在重定向图像资源的位置。说:

https://test.rokfor.ch/cdn/dummyimage.com/600x400/000/fff

在浏览器中显示图像的结果。

在 php 脚本中调用相同的资源,例如:

header('X-Accel-Redirect: /cdn/dummyimage.com/600x400/000/fff');
exit(0);

导致内部错误。 Nginx 配置如下:

location ~ ^/cdn/(.*?)/(.*) {
  resolver 8.8.8.8;
  proxy_set_header HOST ;
  proxy_pass "https:///?$args";
}

什么可能是潜在问题?因为不知道往哪个方向看

好的 - 找到了:

Dokku 在不支持 SSL 的情况下在内部运行 Nginx 1.8。 Proxy_pass 到 https 因此 不能 工作。我设法通过分叉原始的 heroku php buildpack 解决了这个问题,将 nginx 依赖推到 1.10 并添加了一个额外的存储库,提供了一个使用 ssl 支持构建的 nginx 版本。