Nginx passa cabeçalhos upstream para a solicitação remota
Esta pergunta é semelhante aeste mas fazendox-accel-redirect
emaws s3
recurso. O primeiro tentou definir os cabeçalhos upstream para a solicitação local. Isso funciona bem. Mas agora mudei meu conteúdo para o amazon s3 e queria implementar o mesmo download restrito nos objetos s3.
Esta é a minha configuração nginx
proxy_pass_header X-Accel-Redirect;
passenger_pass_header X-Accel-Redirect;
location ~* ^/download_zip/(.*) {
internal;
resolver 8.8.8.8 valid=300s;
proxy_buffering off;
proxy_set_header Content-Length "";
proxy_set_header Cookie "";
proxy_hide_header x-amz-request-id;
proxy_hide_header x-amz-meta-uid;
proxy_hide_header x-amz-id-2;
proxy_hide_header x-amz-meta-mode;
proxy_hide_header x-amz-meta-mtime;
proxy_hide_,header x-amz-meta-gid;
proxy_hide_header x-amz-version-id;
proxy_hide_header accept-ranges;
# Do not touch local disks when proxying
# content to clients
proxy_method GET;
proxy_pass_request_body off;
proxy_max_temp_file_size 0;
proxy_pass_header Content-MD5;
add_header Content-MD5 $upstream_http_content_md5;
# proxy_set_header Content-MD5 "123123123123123";
proxy_pass https://a_b_c_assets.s3-east.amazonaws.com/esteis_args$args;
}
e a parte dos trilhos é
headers['X-Accel-Redirect'] = '/download_zip/uploads/' + params[:story_id] +'/' + params[:story_id] + '.zip?' + secure_part
headers['X-Accel-Expires'] = 'max'
headers['Content-MD5'] = checksum
Tudo funciona bem, exceto oContent-MD5
não é passado para a solicitação em proxy.
Qualquer ajuda é realmente apreciada.
Outropergunta semelhante aqui