nginx:try_files 和外部 URL

nginx:try_files 和外部 URL

我想创建一个动态缩略图生成器并通过 nginx 传递所有请求,并使用 try_files 测试文件是否存在。

后备应该是一个外部 URL,我该如何实现呢?

 server {
         listen 80;
         server_name static.stage.domain.example;     

        location / {
            alias /home/fh/static/$1;
            try_files $uri $uri/ @bla;
        }     

        location @bla {
            proxy_set_header Host http://www.myurl.example?resize=$uri;
        }     

 }

解决方案 这就是我一直在寻找的:(工作示例):

server {
        listen 80;    

        server_name static.example.com;    

        location / {
            root /home/example/static/uploads/thumbnail;
            try_files $uri @redirect;
        }    

        location @redirect {
           expires 30s;
            return 301 https:/example.com/thumbnail$request_uri;
        }
}

答案1

URI 是完整 URL 的资源部分,即当前服务器上的资源。try_files指令中不能引用外部资源。

您需要proxy_pass http://example.com;location @bla配置部分中添加以将请求传递给外部服务。

相关内容