首页 > 解决方案 > DO Spaces [或 S3] + 带有子域的 Nginx

问题描述

总而言之,我遇到了将子域代理到 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(如果可能的话)。

有没有人能够在类似的设置上执行?

标签: nginxamazon-s3digital-ocean

解决方案


推荐阅读