if
вообще не нужна и, как вы уже сами могли убедиться, даже вредна. Избавиться от неё можно, например, через дополнительный location
:location /users {
auth_request auth-validate;
auth_request_set $auth_status $upstream_status;
proxy_pass http://userService;
}
location ~ ^/users(?:/(?:find|reset-password)(?:/[^/]+)?|/verify-email/[^/]+)?$ {
proxy_pass http://userService;
}
location /users {
auth_request auth-validate;
auth_request_set $auth_status $upstream_status;
proxy_pass http://userService;
}
location ~^/users$
~^/users/reset-password$
~^/users/reset-password/[^/]+$
~^/users/verify-email/[^/]+$
~^/users/find$
~^/users/find/[^/]+$ {
proxy_pass http://userService;
}
map
больше не требуется, конфигурация имеет более однозначный вид и содержит меньше строк. listen 80;
или удалите listen [::]:80;
, после чего перезагрузите конфигурацию через nginx -s reload
. Если вы указываете в браузере http://localhost
, то всё должно работать. Если в адресной строке не localhost, то запрос будет обработан контекстом server в nginx.conf:server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /usr/share/nginx/html;
}
server_name
в test.conf или использовать параметр default_server
в директиве listen
(предварительно удалив данный параметр из nginx.conf). Модуль ngx_http_gzip_static_module позволяет отдавать вместо обычного файла предварительно сжатый файл с таким же именем и с расширением «.gz».
gzip_static off;
Есть ли утилита или онлайн сервис куда можно загрузить свой Блэклист по маскам и список IP и посмотреть каким правилом оно блокируется?
#!/usr/bin/perl
use 5.010;
use strict;
use warnings;
use NetAddr::IP;
my @list = ('144.76.0.0/16', '144.76.118.82', '144.76.119.28', '144.76.67.0/24', '144.75.0.41');
my @result;
foreach my $ip (@list) {
push(@result, NetAddr::IP->new($ip));
}
@result = NetAddr::IP::compact(@result);
foreach my $ip (@result) {
say $ip->cidr;
}
144.75.0.41/32
144.76.0.0/16
location
использует URI в нормализованном виде и без аргументов. С rewrite
аналогичная ситуация. Простой вариант решения проблемы:location /index.php {
if ($arg_path ~ "^[0-9]{2}_[0-9]{3}$") {
return 301 https://example.com/;
}
}
satisfy any;
server {
location / {
proxy_pass http://backend;
}
location /private {
allow 192.168.0.0/24;
deny all
auth_basic "Private zone";
auth_basic_user_file htpasswd;
satisfy any;
proxy_pass http://backend/private;
}
}
error_page 502 503 504 /maintenance.htm;
location ~ /maintenance\.(css|htm|jpg) {
root /usr/share/nginx;
}
<meta http-equiv="refresh" content="30" />