mirror of
https://github.com/ceph/ceph
synced 2024-12-23 11:54:11 +00:00
6251d2b6c1
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>
58 lines
1.8 KiB
Nginx Configuration File
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;
|
|
}
|