Nginx 代理传递到 s3 以获取 js 文件 returns 400 错误请求

Nginx Proxy pass to s3 for js files returns 400 Bad request

下面是我的nginx配置。

    server_name  myserver.com;

    location ~ /(in|sr)/(en|tm)/(.+\.(css|js)) {
        proxy_set_header Host http://mybucketabc.s3.amazonaws.com;

        proxy_http_version     1.1;
        proxy_set_header       Connection "";
        proxy_set_header       Authorization '';
        proxy_hide_header      x-amz-id-2;
        proxy_hide_header      x-amz-request-id;
        proxy_hide_header      x-amz-meta-server-side-encryption;
        proxy_hide_header      x-amz-server-side-encryption;
        proxy_hide_header      Set-Cookie;
        proxy_ignore_headers   Set-Cookie;
        proxy_intercept_errors on;
        add_header             Cache-Control max-age=31536000;

        rewrite ^/(in|sr)/(en|tm)/(.*) /// break;
        proxy_pass    http://mybucketabc.s3.amazonaws.com;
    }

当我尝试访问 http://myserver.com/in/en/main.9bd9926d.js 时,我收到“400 错误请求”

但直接访问 http://mybucketabc.s3.amazonaws.com/in/en/main.9bd9926d.js 工作正常。

我对 html 和 svg 文件有类似的代理传递规则,两者都工作正常,但对 .js 文件的请求总是抛出“400 错误请求”。

非常感谢任何帮助。

这个问题在更正主机后得到解决。

错误的主机 proxy_set_header主持人http://mybucketabc.s3.amazonaws.com;

正确的主机(已删除 "http://") proxy_set_header 托管 mybucketabc。s3.amazonaws.com;