ceph/examples/rgw-cache/nginx.conf
Mark Kogan 6251d2b6c1 rgw: add PUT and POST req support to data cache
facilitates the full usage of the Nginx cache endpoint
with s3 tools that support AWSv4
like s3cmd,aws-cli, benchmarking tools like hsbench
and also hadoop/s3a.

Co-authored-by: Or Friedmann <ofriedma@redhat.com>
Signed-off-by: Mark Kogan <mkogan@redhat.com>
2020-07-21 15:23:57 +03:00

58 lines
1.8 KiB
Nginx Configuration File

user nginx;
#Process per core
worker_processes auto;
pid /var/run/nginx.pid;
events {
#Number of connections per worker
worker_connections 1024;
}
http {
types_hash_max_size 4096;
lua_package_path '/usr/local/openresty/lualib/?.lua;;';
aws_auth $aws_token {
# access key and secret key of the cache
# Please substitute with the access key and secret key of the amz-cache cap user
access_key cache;
secret_key cache;
service s3;
region us-east-1;
}
# This map is used to choose the original authorization header if the aws_auth module refuse to create one
map $aws_token $awsauth {
default $http_authorization;
~. $aws_token; # Regular expression to match any value
}
map $request_uri $awsauthtwo {
"/" $http_authorization;
"~\?" $http_authorization;
default $awsauth;
}
map $request_method $awsauththree {
default $awsauthtwo;
"PUT" $http_authorization;
"HEAD" $http_authorization;
"POST" $http_authorization;
"DELETE" $http_authorization;
"COPY" $http_authorization;
}
map $http_if_match $awsauthfour {
~. $http_authorization; # Regular expression to match any value
default $awsauththree;
}
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nodelay on;
keepalive_timeout 65;
include /etc/nginx/conf.d/*.conf;
}