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可能有帮助