limit_conn_zone $server_name zone=servers:10m;
limit_req_zone $server_name zone=perserver:10m rate=5r/s;
server {
listen 443 ssl;
server_tokens off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
ssl_certificate /etc/nginx/cert/server.crt;
ssl_certificate_key /etc/nginx/cert/server.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 5m;
ssl_protocols TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!SSLv2:!SSLv3:!ECDHE-RSA-AES256-SHA384:!AES256-SHA256:!ECDHE-RSA-AES128-SHA256:!AES128-SHA256;
ssl_prefer_server_ciphers on;
underscores_in_headers on;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary off;
gzip_disable "MSIE [1-6]\.";
proxy_request_buffering off;
proxy_buffering off;
client_max_body_size 24800M;
location ^~ /app/ {
#autoindex on;
# 限制并发连接数为10
limit_conn servers 10;
# 溢出的请求返回状态码503
limit_conn_status 503;
# 最多有3000个下载请求排队处理
limit_req zone=perserver burst=3000;
# 限制下载速度为2m
limit_rate 2m;
autoindex_exact_size off;
autoindex_localtime on;
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Credentials true;
add_header Content-Disposition "attachment;filename=$arg_distname";
alias /upload/packages/store/app/;
}
}