Am un API care se conectează prin ip privat al serverului EC2 și execută o secvență de apeluri inverse.Vreau să dezactivez limitarea ratei per ip în acest scenariu. Am încercat această metodă în documentația Nginx.
Acest lucru nu rezolvă limita de rată pentru problemă. Jurnal de acces
192.168.192.51 - - [14/Iun/2021:00:09:55 +0530] „POST /project/api/v1/vendor/callback HTTP/1.1” 429 8576 „-” „Java/1.8.0_151” „- " "192.168.13.173" sn="192.168.13.173" rt=0.009 ua="unix:/var/run/php/php7.4-fpm.sock" us="429" ut="0.008" ul="8591 " cs=-
Fișierul de conf. Nginx
utilizator www-date;
worker_proceses auto;
pid /run/nginx.pid;
includ /etc/nginx/modules-enabled/*.conf;
evenimente {
conexiuni_muncitor 1024;
# multi_accept on;
}
http {
geo $limit {
implicit 1;
192.168.192.51 0;
}
harta $limit $limit_key {
0 "";
1 $adresă_binară_la distanță;
}
limit_req_zone $limit_key zone=req_zone:10m rate=100r/s;
##
# Setări de bază
##
sendfile activat;
tcp_nopush activat;
tcp_nodelay activat;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
includ /etc/nginx/mime.types;
aplicație de tip_default/octet-stream;
##
# Setări SSL
##
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Eliminarea SSLv3, ref: POODLE
ssl_prefer_server_ciphers activat;
##
# Setări de înregistrare
##
error_log /var/log/nginx/error.log warn;
log_format main_ext '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for" ' '"$host" sn="$server_name" '' rt=$request_time ' 'ua="$upstream_addr" us="$upstream_status" ' 'ut="$upstream_response_time" ul="$upstream_response_length" ' 'cs=$upstream_cache_status' ;
access_log /var/log/nginx/access.log main_ext;
##
# Setări Gzip
##
gzip on;
# gzip_vary on;
# gzip_proxied orice;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
##
# Configurații gazdă virtuală
##
includ /etc/nginx/conf.d/*.conf;
includ /etc/nginx/sites-enabled/*;
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
fastcgi_connect_timeout 90;
fastcgi_send_timeout 90;
fastcgi_read_timeout 90;
}
Bloc de server
Server {
asculta 80;
asculta 81;
root /data/www;
index index.html index.htm index.php;
nume_server 192.168.13.173;
Locație / {
try_files $uri $uri/ /index.php$is_args$args;
}
locație / proiect{
alias /data/www/project/public;
try_files $uri $uri/ @proiect;
locație ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
}
locație @proiect {
rescrie /project/(.*)$ /project/index.php?/$1 ultimul;
}
locație ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
locație ~ /\.ht {
nega totul;
}
}