Py学习  »  NGINX

带传递给容器的参数的Nginx反向代理

Syn Romana • 4 年前 • 250 次点击  

我想要的是以某种方式将bucket名称传递给aws_s3_bucket和proxy_pass,如果bucket位于不同的区域,则替换aws_key_scope上的region,以便在不运行多个容器(每个容器具有不同的配置)的情况下为多个bucket工作。下面的配置按预期工作,但配置为单个静态bucket。所以要从配置bucket中定义的访问文件,我必须调用 http://IP_or_hostname/file ,我想要的是 http://IP_or_file/ $bucket/文件。 这是基于 https://github.com/anomalizer/ngx_aws_auth 不支持此处提到的变量的模块: https://github.com/anomalizer/ngx_aws_auth/issues/49 . Nginx有可能吗?

worker_processes 1;

events {
  worker_connections 1024;
}

http {
    server {
    listen 80;
    client_max_body_size 100G;
    aws_access_key 'AKI';
    aws_signing_key "xyz";
    aws_key_scope "20190226/eu-west-2/s3/aws4_request";
    aws_s3_bucket 'bucket_name';

    location / {
       aws_sign;
       aws_access_key "AKI";
       aws_signing_key "xyz";
       aws_key_scope "20190226/eu-west-2/s3/aws4_request";
       aws_endpoint "s3.eu-west-2.amazonaws.com";
       proxy_pass http://bucket_name.s3.eu-west-2.amazonaws.com/;
       resolver 8.8.8.8 valid=300s;
       resolver_timeout 10s;
       }
    }
}
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/52602
 
250 次点击