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 版本。
这是我的事。在 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 版本。