全部,我遇到了将子域代理到DO空间的问题(怀疑AWS / S3的行为方式相同);在这种情况下,请尝试在桶外提供徽标,请求的URL为logos.mysite.com/dev/logo1
。 Nginx应该将其proxy_pass传递到https://mybucket.dospace.com/logos/dev/logo1.png(并且始终为.png)。
NGINX设置当前为:
server{
server_name logos.mysite.com
location / {
set $bucket "mybucket.dospace.com"
proxy_pass https://$bucket/logos$request_uri.png;
proxy_set_header Host $host;
... other proxy_set/hide settings ...
}
以上是许多重写/返回/正则表达式位置尝试的最简单版本,但没有任何效果。在上面的示例中(使用chrome),发生了到https://mybucket.dospace.com/dev/logo1.png
的重定向,该重定向在路径中丢失了/logos
。而且,我根本不希望chrome重定向-用户可以更方便地查看来自logos.mysite.com
的原始请求(如果可能的话)。
有人能够执行类似的设置吗?