使用nginx proxy_pass从s3存储桶读取sitemap.xml文件

时间:2017-08-24 08:18:48

标签: nginx proxypass

以下是我期望它的工作方式:

location sitemap.xml {
    proxy_pass https://s3-eu-west-1.amazonaws.com/<bucket>/sitemap.xml;
}

以下是我设法让它发挥作用的方式:

location ~ ^/(sitemap.xml) {
    rewrite ^ /<bucket>/sitemap.xml break;
    proxy_pass https://s3-eu-west-1.amazonaws.com;
}

必须有更好的方法!开导我。 :)

2 个答案:

答案 0 :(得分:0)

你有一个非常小的问题

location = /sitemap.xml {
    proxy_pass https://s3-eu-west-1.amazonaws.com/<bucket>/sitemap.xml;
}

=将确保不允许/sitemap.xml/abc。并且在开始时实际需要/

答案 1 :(得分:0)

我有类似的问题,但我有几个站点地图文件。这是我的命题@jpswade:

location ~ \.xml$ {

    rewrite ^ /<bucket>/sitemap$request_uri break;
    proxy_pass https://s3-eu-west-1.amazonaws.com;
}

当然有效。