使用Amazon S3configurationNginx,并使用请求的URL的位置从S3获取HTML

Nginx是否有一个好的方法来configurationNginx从S3中获取html内容?

我想从S3存储桶中获取静态HTML内容。 我尝试了proxy_pass来达到这个目的。

请求的url结构是/ file / path1 / path2 /。 而默认的conf文件是:

location /file/path1/path2/ { proxy_pass http://s3.amazonaws.com/example-bucket/file/path1/path2/index.html; } 

此外,如何从请求的url获取path1和path2。 我已经看过文档,并没有find一个简单的方法。

我会很感激一个详细的解释。

这是我为可能遇到这个问题的人(可能是新手)所做的。

 location ~* ^/some_bucket/(.*)/(.*)/.* { proxy_pass http://s3.amazonaws.com/some_bucket/$1/$2/$1_$2.html; } 

〜*表示不区分大小写的正则表达式匹配^表示捕获参数之前的任何东西。

例如,用户输入www.example.com/some_bucket/folder1/folder2/text

然后,它被处理为,

〜*确保不区分大小写的搜索(对于区分大小写的跳转*(意思就是放〜))

^匹配www.example.com。

/ some_bucket /被匹配,

*表示任何数字的任何字符(对于任何数字,用[0-9] *替换)

()确保匹配值被捕获

所以,$ 1捕获folder1

$ 2捕获folder2

然后

*没有括号匹配任何字符,但没有捕获匹配的值

现在可以使用catched值来查找亚马逊桶中使用的文件

proxy_pass http://s3.amazonaws.com/some_bucket/ $ 1 / $ 2 / $ 1_ $ 2.html

https://www.digitalocean.com/community/tutorials/understanding-nginx-server-and- location-block-selection-algorithms可能有帮助