Nginx将所有请求传递给特定的S3文件

我有一个S3桶与我的网站的静态内容,我有一个EC2实例,接收所有的网站stream量。

我希望对EC2的每一个请求都从我的S3返回一个特定的文件,但是我想保持这个URL与用户插入的相同。

示例 :假设我的文件位于/path/index.html中如果用户向www.mydomain.com发出请求,我想提供该文件,并且如果用户向www.mydomain.com/发送请求一些/随机/path/我仍然想服务于同一个文件。 最后一个要求是地点将保持不变。 也就是说,即使提供了相同的文件,用户仍然可以在浏览器中看到www.mydoamin.com和www.mydoamin.com/some/random/path/。

这是目前为止,我似乎没有工作的nginxconfiguration文件:

server { listen 80; ssl off; location / { proxy_http_version 1.1; proxy_set_header Host 'some-host.s3.amazonaws.com'; proxy_set_header Authorization ''; proxy_hide_header x-amz-id-2; proxy_hide_header x-amz-request-id; proxy_hide_header Set-Cookie; proxy_ignore_headers "Set-Cookie"; proxy_buffering off; proxy_intercept_errors on; resolver 8.8.4.4 8.8.8.8 valid=300s; resolver_timeout 10s; proxy_pass http://some-host.s3.amazonaws.com/front-end/index.html; } } 

有关如何使这项工作的任何想法?

谢谢!

我结束了使用一个变量。 这解决了这个问题:

 server { listen 80; ssl off; location / { proxy_http_version 1.1; proxy_set_header Host 'some-host.s3.amazonaws.com'; proxy_set_header Authorization ''; proxy_hide_header x-amz-id-2; proxy_hide_header x-amz-request-id; proxy_hide_header Set-Cookie; proxy_ignore_headers "Set-Cookie"; proxy_buffering off; proxy_intercept_errors on; resolver 172.16.0.23 valid=300s; set $indexfile "some-host.s3.amazonaws.com/front-end/index.html"; proxy_pass http://$indexfile; } }