482 lines
20 KiB
Plaintext
482 lines
20 KiB
Plaintext
#
|
|
# Use nginx to return static content from cloud storage
|
|
#
|
|
location ^~ /upload/bx_cloud_upload/ {
|
|
# Amazon Simple Storage Service
|
|
location ~ ^/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.(s3|af-south-1|ap-east-1|ap-south-1|ap-south-2|ap-southeast-1|ap-southeast-2|ap-southeast-3|ap-southeast-4|ap-northeast-1|ap-northeast-2|ap-northeast-3|ca-central-1|ca-west-1|cn-north-1|cn-northwest-1|eu-central-1|eu-central-2|eu-west-1|eu-west-2|eu-west-3|eu-south-1|eu-south-2|eu-north-1|il-central-1|me-south-1|me-central-1|sa-east-1|us-east-1|us-east-2|us-west-1|us-west-2|us-gov-east-1|us-gov-west-1)\.amazonaws\.com/([^\s]+)$ {
|
|
internal;
|
|
resolver 8.8.8.8 ipv6=off;
|
|
proxy_method GET;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Server $host;
|
|
more_clear_input_headers 'Authorization';
|
|
#proxy_max_temp_file_size 0;
|
|
proxy_set_header "cookie" "";
|
|
proxy_set_header "content-type" "";
|
|
proxy_set_header "content-length" "";
|
|
proxy_pass $1://$2.$3.amazonaws.com/$4;
|
|
}
|
|
# Google Storage
|
|
location ~ ^/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.commondatastorage\.googleapis\.com/([^\s]+)$ {
|
|
internal;
|
|
resolver 8.8.8.8 ipv6=off;
|
|
proxy_method GET;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Server $host;
|
|
more_clear_input_headers 'Authorization';
|
|
#proxy_max_temp_file_size 0;
|
|
proxy_set_header "cookie" "";
|
|
proxy_set_header "content-type" "";
|
|
proxy_set_header "content-length" "";
|
|
proxy_pass $1://$2.commondatastorage.googleapis.com/$3;
|
|
}
|
|
# Rackspace Cloud Files
|
|
location ~ ^/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.([^/:\s]+)\.([^/:\s]+)\.rackcdn\.com/([^\s]+)$ {
|
|
internal;
|
|
resolver 8.8.8.8 ipv6=off;
|
|
proxy_method GET;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Server $host;
|
|
more_clear_input_headers 'Authorization';
|
|
#proxy_max_temp_file_size 0;
|
|
proxy_set_header "cookie" "";
|
|
proxy_set_header "content-type" "";
|
|
proxy_set_header "content-length" "";
|
|
proxy_pass $1://$2.$3.$4.rackcdn.com/$5;
|
|
}
|
|
# Clodo.ru (old)
|
|
location ~ ^/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.clodo\.ru\:(80|443)/([^\s]+)$ {
|
|
internal;
|
|
resolver 8.8.8.8 ipv6=off;
|
|
proxy_method GET;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Server $host;
|
|
more_clear_input_headers 'Authorization';
|
|
#proxy_max_temp_file_size 0;
|
|
proxy_set_header "cookie" "";
|
|
proxy_set_header "content-type" "";
|
|
proxy_set_header "content-length" "";
|
|
proxy_pass $1://$2.clodo.ru:$3/$4;
|
|
}
|
|
# Clodo.ru
|
|
location ~ ^/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.clodo\.ru/([^\s]+)$ {
|
|
internal;
|
|
resolver 8.8.8.8 ipv6=off;
|
|
proxy_method GET;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Server $host;
|
|
more_clear_input_headers 'Authorization';
|
|
#proxy_max_temp_file_size 0;
|
|
proxy_set_header "cookie" "";
|
|
proxy_set_header "content-type" "";
|
|
proxy_set_header "content-length" "";
|
|
proxy_pass $1://$2.clodo.ru/$3;
|
|
}
|
|
# Selectel
|
|
location ~ ^/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.selcdn\.ru/([^\s]+)$ {
|
|
internal;
|
|
resolver 8.8.8.8 ipv6=off;
|
|
proxy_method GET;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Server $host;
|
|
more_clear_input_headers 'Authorization';
|
|
#proxy_max_temp_file_size 0;
|
|
proxy_set_header "cookie" "";
|
|
proxy_set_header "content-type" "";
|
|
proxy_set_header "content-length" "";
|
|
proxy_pass $1://$2.selcdn.ru/$3;
|
|
}
|
|
# Selectel as S3 compatible storage
|
|
location ~ ^/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.selstorage\.ru/([^\s]+)$ {
|
|
internal;
|
|
resolver 8.8.8.8 ipv6=off;
|
|
proxy_method GET;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Server $host;
|
|
more_clear_input_headers 'Authorization';
|
|
#proxy_max_temp_file_size 0;
|
|
proxy_set_header "cookie" "";
|
|
proxy_set_header "content-type" "";
|
|
proxy_set_header "content-length" "";
|
|
proxy_pass $1://$2.selstorage.ru/$3;
|
|
}
|
|
# HotBox
|
|
location ~ ^/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.hb\.bizmrg\.com/([^\s]+)$ {
|
|
internal;
|
|
resolver 8.8.8.8 ipv6=off;
|
|
proxy_method GET;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Server $host;
|
|
more_clear_input_headers 'Authorization';
|
|
#proxy_max_temp_file_size 0;
|
|
proxy_set_header "cookie" "";
|
|
proxy_set_header "content-type" "";
|
|
proxy_set_header "content-length" "";
|
|
proxy_pass $1://$2.hb.bizmrg.com/$3;
|
|
}
|
|
# HotBox
|
|
location ~ ^/upload/bx_cloud_upload/(http[s]?)\.hb\.bizmrg\.com/([^\s].+)$ {
|
|
internal;
|
|
resolver 8.8.8.8 ipv6=off;
|
|
proxy_method GET;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Server $host;
|
|
more_clear_input_headers 'Authorization';
|
|
#proxy_max_temp_file_size 0;
|
|
proxy_set_header "cookie" "";
|
|
proxy_set_header "content-type" "";
|
|
proxy_set_header "content-length" "";
|
|
proxy_pass $1://hb.bizmrg.com/$2;
|
|
}
|
|
# Yandex Object Storage
|
|
location ~ ^/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.storage\.yandexcloud\.net/([^\s]+)$ {
|
|
internal;
|
|
resolver 8.8.8.8 ipv6=off;
|
|
proxy_method GET;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Server $host;
|
|
more_clear_input_headers 'Authorization';
|
|
#proxy_max_temp_file_size 0;
|
|
proxy_set_header "cookie" "";
|
|
proxy_set_header "content-type" "";
|
|
proxy_set_header "content-length" "";
|
|
proxy_pass $1://$2.storage.yandexcloud.net/$3;
|
|
}
|
|
# Yandex Object Storage
|
|
location ~ ^/upload/bx_cloud_upload/(http[s]?)\.storage\.yandexcloud\.net/([^\s].+)$ {
|
|
internal;
|
|
resolver 8.8.8.8 ipv6=off;
|
|
proxy_method GET;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Server $host;
|
|
more_clear_input_headers 'Authorization';
|
|
#proxy_max_temp_file_size 0;
|
|
proxy_set_header "cookie" "";
|
|
proxy_set_header "content-type" "";
|
|
proxy_set_header "content-length" "";
|
|
proxy_pass $1://storage.yandexcloud.net/$2;
|
|
}
|
|
# S3 compatible storage
|
|
location ~ ^/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.io\.activecloud\.com/([^\s]+)$ {
|
|
internal;
|
|
resolver 8.8.8.8 ipv6=off;
|
|
proxy_method GET;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Server $host;
|
|
more_clear_input_headers 'Authorization';
|
|
#proxy_max_temp_file_size 0;
|
|
proxy_set_header "cookie" "";
|
|
proxy_set_header "content-type" "";
|
|
proxy_set_header "content-length" "";
|
|
proxy_pass $1://$2.io.activecloud.com/$3;
|
|
}
|
|
# S3 compatible storage
|
|
location ~ ^/upload/bx_cloud_upload/(http[s]?)\.io\.activecloud\.com/([^\s].+)$ {
|
|
internal;
|
|
resolver 8.8.8.8 ipv6=off;
|
|
proxy_method GET;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Server $host;
|
|
more_clear_input_headers 'Authorization';
|
|
#proxy_max_temp_file_size 0;
|
|
proxy_set_header "cookie" "";
|
|
proxy_set_header "content-type" "";
|
|
proxy_set_header "content-length" "";
|
|
proxy_pass $1://io.activecloud.com/$2;
|
|
}
|
|
# Timeweb.cloud S3 compatible storage
|
|
location ~ ^/upload/bx_cloud_upload/(http[s]?)\.s3\.timeweb\.cloud/([^\s].+)$ {
|
|
internal;
|
|
resolver 8.8.8.8 ipv6=off;
|
|
proxy_method GET;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Server $host;
|
|
more_clear_input_headers 'Authorization';
|
|
#proxy_max_temp_file_size 0;
|
|
proxy_set_header "cookie" "";
|
|
proxy_set_header "content-type" "";
|
|
proxy_set_header "content-length" "";
|
|
proxy_pass $1://s3.timeweb.cloud/$2;
|
|
}
|
|
# block everything else
|
|
location ~* .*$ {
|
|
deny all;
|
|
}
|
|
}
|
|
#
|
|
# cloud resize cache
|
|
#
|
|
location ^~ /upload/resize_cache/c/upload/bx_cloud_upload/ {
|
|
# Amazon
|
|
location ~ ^/upload/resize_cache/c/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.(s3|af-south-1|ap-east-1|ap-south-1|ap-south-2|ap-southeast-1|ap-southeast-2|ap-southeast-3|ap-southeast-4|ap-northeast-1|ap-northeast-2|ap-northeast-3|ca-central-1|ca-west-1|cn-north-1|cn-northwest-1|eu-central-1|eu-central-2|eu-west-1|eu-west-2|eu-west-3|eu-south-1|eu-south-2|eu-north-1|il-central-1|me-south-1|me-central-1|sa-east-1|us-east-1|us-east-2|us-west-1|us-west-2|us-gov-east-1|us-gov-west-1)\.amazonaws\.com/([^\s]+)$ {
|
|
internal;
|
|
set $new_uri $upstream_http_x_gen_src;
|
|
set $cdi $upstream_http_x_cd_info;
|
|
resolver 8.8.8.8 ipv6=off;
|
|
proxy_method GET;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Server $host;
|
|
more_clear_input_headers 'Authorization';
|
|
proxy_set_header "cookie" "";
|
|
proxy_set_header "content-type" "";
|
|
proxy_set_header "content-length" "";
|
|
if ($cdi) {
|
|
more_set_headers -s 200 'Content-Disposition: $cdi';
|
|
}
|
|
proxy_pass $1://$2.$3.amazonaws.com/$4;
|
|
proxy_intercept_errors on;
|
|
error_page 403 404 500 502 503 504 = /$new_uri;
|
|
}
|
|
# Rackspace
|
|
location ~ ^/upload/resize_cache/c/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.([^/:\s]+)\.([^/:\s]+)\.rackcdn\.com/([^\s]+)$ {
|
|
internal;
|
|
set $new_uri $upstream_http_x_gen_src;
|
|
set $cdi $upstream_http_x_cd_info;
|
|
resolver 8.8.8.8 ipv6=off;
|
|
proxy_method GET;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Server $host;
|
|
more_clear_input_headers 'Authorization';
|
|
proxy_set_header "cookie" "";
|
|
proxy_set_header "content-type" "";
|
|
proxy_set_header "content-length" "";
|
|
if ($cdi) {
|
|
more_set_headers -s 200 'Content-Disposition: $cdi';
|
|
}
|
|
proxy_pass $1://$2.$3.$4.rackcdn.com/$5;
|
|
proxy_intercept_errors on;
|
|
error_page 403 404 500 502 503 504 = /$new_uri;
|
|
}
|
|
# Clodo
|
|
location ~ ^/upload/resize_cache/c/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.clodo\.ru\:(80|443)/([^\s]+)$ {
|
|
internal;
|
|
set $new_uri $upstream_http_x_gen_src;
|
|
set $cdi $upstream_http_x_cd_info;
|
|
resolver 8.8.8.8 ipv6=off;
|
|
proxy_method GET;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Server $host;
|
|
more_clear_input_headers 'Authorization';
|
|
proxy_set_header "cookie" "";
|
|
proxy_set_header "content-type" "";
|
|
proxy_set_header "content-length" "";
|
|
if ($cdi) {
|
|
more_set_headers -s 200 'Content-Disposition: $cdi';
|
|
}
|
|
proxy_pass $1://$2.clodo.ru:$3/$4;
|
|
proxy_intercept_errors on;
|
|
error_page 403 404 500 502 503 504 = /$new_uri;
|
|
}
|
|
# Google
|
|
location ~ ^/upload/resize_cache/c/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.commondatastorage\.googleapis\.com/([^\s]+)$ {
|
|
internal;
|
|
set $new_uri $upstream_http_x_gen_src;
|
|
set $cdi $upstream_http_x_cd_info;
|
|
resolver 8.8.8.8 ipv6=off;
|
|
proxy_method GET;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Server $host;
|
|
more_clear_input_headers 'Authorization';
|
|
proxy_set_header "cookie" "";
|
|
proxy_set_header "content-type" "";
|
|
proxy_set_header "content-length" "";
|
|
if ($cdi) {
|
|
more_set_headers -s 200 'Content-Disposition: $cdi';
|
|
}
|
|
proxy_pass $1://$2.commondatastorage.googleapis.com/$3;
|
|
proxy_intercept_errors on;
|
|
error_page 403 404 500 502 503 504 = /$new_uri;
|
|
}
|
|
# Selectel
|
|
location ~ ^/upload/resize_cache/c/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.selcdn\.ru/([^\s]+)$ {
|
|
internal;
|
|
set $new_uri $upstream_http_x_gen_src;
|
|
set $cdi $upstream_http_x_cd_info;
|
|
resolver 8.8.8.8 ipv6=off;
|
|
proxy_method GET;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Server $host;
|
|
more_clear_input_headers 'Authorization';
|
|
proxy_set_header "cookie" "";
|
|
proxy_set_header "content-type" "";
|
|
proxy_set_header "content-length" "";
|
|
if ($cdi) {
|
|
more_set_headers -s 200 'Content-Disposition: $cdi';
|
|
}
|
|
proxy_pass $1://$2.selcdn.ru/$3;
|
|
proxy_intercept_errors on;
|
|
error_page 403 404 500 502 503 504 = /$new_uri;
|
|
}
|
|
# Selectel as S3 compatible storage
|
|
location ~ ^/upload/resize_cache/c/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.selstorage\.ru/([^\s]+)$ {
|
|
internal;
|
|
set $new_uri $upstream_http_x_gen_src;
|
|
set $cdi $upstream_http_x_cd_info;
|
|
resolver 8.8.8.8 ipv6=off;
|
|
proxy_method GET;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Server $host;
|
|
more_clear_input_headers 'Authorization';
|
|
proxy_set_header "cookie" "";
|
|
proxy_set_header "content-type" "";
|
|
proxy_set_header "content-length" "";
|
|
if ($cdi) {
|
|
more_set_headers -s 200 'Content-Disposition: $cdi';
|
|
}
|
|
proxy_pass $1://$2.selstorage.ru/$3;
|
|
proxy_intercept_errors on;
|
|
error_page 403 404 500 502 503 504 = /$new_uri;
|
|
}
|
|
# Yandex
|
|
location ~* ^/upload/resize_cache/c/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.storage\.yandexcloud\.net/([^\s]+)$ {
|
|
internal;
|
|
set $new_uri $upstream_http_x_gen_src;
|
|
set $cdi $upstream_http_x_cd_info;
|
|
resolver 8.8.8.8 ipv6=off;
|
|
proxy_method GET;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Server $host;
|
|
more_clear_input_headers 'Authorization';
|
|
proxy_set_header "cookie" "";
|
|
proxy_set_header "content-type" "";
|
|
proxy_set_header "content-length" "";
|
|
if ($cdi) {
|
|
more_set_headers -s 200 'Content-Disposition: $cdi';
|
|
}
|
|
proxy_pass $1://$2.storage.yandexcloud.net/$3;
|
|
proxy_intercept_errors on;
|
|
error_page 403 404 500 502 503 504 = /$new_uri;
|
|
}
|
|
# Yandex second option
|
|
location ~ ^/upload/resize_cache/c/upload/bx_cloud_upload/(http[s]?)\.storage\.yandexcloud\.net/([^\s].+)$ {
|
|
internal;
|
|
set $new_uri $upstream_http_x_gen_src;
|
|
set $cdi $upstream_http_x_cd_info;
|
|
resolver 8.8.8.8 ipv6=off;
|
|
proxy_method GET;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Server $host;
|
|
more_clear_input_headers 'Authorization';
|
|
proxy_set_header "cookie" "";
|
|
proxy_set_header "content-type" "";
|
|
proxy_set_header "content-length" "";
|
|
if ($cdi) {
|
|
more_set_headers -s 200 'Content-Disposition: $cdi';
|
|
}
|
|
proxy_pass $1://storage.yandexcloud.net/$2;
|
|
proxy_intercept_errors on;
|
|
error_page 403 404 500 502 503 504 = /$new_uri;
|
|
}
|
|
# HotBox
|
|
location ~ ^/upload/resize_cache/c/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.hb\.bizmrg\.com/([^\s]+)$ {
|
|
internal;
|
|
set $new_uri $upstream_http_x_gen_src;
|
|
set $cdi $upstream_http_x_cd_info;
|
|
resolver 8.8.8.8 ipv6=off;
|
|
proxy_method GET;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Server $host;
|
|
more_clear_input_headers 'Authorization';
|
|
proxy_set_header "cookie" "";
|
|
proxy_set_header "content-type" "";
|
|
proxy_set_header "content-length" "";
|
|
if ($cdi) {
|
|
more_set_headers -s 200 'Content-Disposition: $cdi';
|
|
}
|
|
proxy_pass $1://$2.hb.bizmrg.com/$3;
|
|
proxy_intercept_errors on;
|
|
error_page 403 404 500 502 503 504 = /$new_uri;
|
|
}
|
|
# HotBox
|
|
location ~ ^/upload/resize_cache/c/upload/bx_cloud_upload/(http[s]?)\.hb\.bizmrg\.com/([^\s].+)$ {
|
|
internal;
|
|
set $new_uri $upstream_http_x_gen_src;
|
|
set $cdi $upstream_http_x_cd_info;
|
|
resolver 8.8.8.8 ipv6=off;
|
|
proxy_method GET;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Server $host;
|
|
more_clear_input_headers 'Authorization';
|
|
proxy_set_header "cookie" "";
|
|
proxy_set_header "content-type" "";
|
|
proxy_set_header "content-length" "";
|
|
if ($cdi) {
|
|
more_set_headers -s 200 'Content-Disposition: $cdi';
|
|
}
|
|
proxy_pass $1://hb.bizmrg.com/$2;
|
|
proxy_intercept_errors on;
|
|
error_page 403 404 500 502 503 504 = /$new_uri;
|
|
}
|
|
# Clodo.ru
|
|
location ~ ^/upload/resize_cache/c/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.clodo\.ru/([^\s]+)$ {
|
|
internal;
|
|
set $new_uri $upstream_http_x_gen_src;
|
|
set $cdi $upstream_http_x_cd_info;
|
|
resolver 8.8.8.8 ipv6=off;
|
|
proxy_method GET;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Server $host;
|
|
more_clear_input_headers 'Authorization';
|
|
proxy_set_header "cookie" "";
|
|
proxy_set_header "content-type" "";
|
|
proxy_set_header "content-length" "";
|
|
if ($cdi) {
|
|
more_set_headers -s 200 'Content-Disposition: $cdi';
|
|
}
|
|
proxy_pass $1://$2.clodo.ru/$3;
|
|
proxy_intercept_errors on;
|
|
error_page 403 404 500 502 503 504 = /$new_uri;
|
|
}
|
|
# Timeweb.cloud S3 compatible storage
|
|
location ~ ^/upload/resize_cache/c/upload/bx_cloud_upload/(http[s]?)\.s3\.timeweb\.cloud/([^\s].+)$ {
|
|
internal;
|
|
set $new_uri $upstream_http_x_gen_src;
|
|
set $cdi $upstream_http_x_cd_info;
|
|
resolver 8.8.8.8 ipv6=off;
|
|
proxy_method GET;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Server $host;
|
|
more_clear_input_headers 'Authorization';
|
|
proxy_set_header "cookie" "";
|
|
proxy_set_header "content-type" "";
|
|
proxy_set_header "content-length" "";
|
|
if ($cdi) {
|
|
more_set_headers -s 200 'Content-Disposition: $cdi';
|
|
}
|
|
proxy_pass $1://s3.timeweb.cloud/$2;
|
|
proxy_intercept_errors on;
|
|
error_page 403 404 500 502 503 504 = /$new_uri;
|
|
}
|
|
# block everything else
|
|
location ~* .*$ {
|
|
deny all;
|
|
}
|
|
}
|
|
#
|