nginx отключить auth_basic на url

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модератор: SLEDopit

Ответить
Аватара пользователя
bars
Сообщения: 935
ОС: BSD/LINUX
Контактная информация:

nginx отключить auth_basic на url

Сообщение bars »

Привет.
Есть url https://my-testsite.loc/bitrix/services/yandex.market/trading/marketplace/RW/stocks
На корне сайта включена доп авторизация auth_basic.
Подскажите пожалуйста, как мне убрать доп авторизацию индивидуально только для url /bitrix/services/yandex.market/trading/marketplace/RW/stocks/ ?
У сайта есть директория /bitrix/services/yandex.market/trading/.
Пока сделал на саму директорию

Код: Выделить всё

location ^~ /bitrix/services/yandex.market/ {
auth_basic off;
allow all;
location ~ \.php$ {
        fastcgi_pass unix:/tmp/test.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        send_timeout 240;
        fastcgi_read_timeout 240;
        fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f test@my-testsite.loc";
        fastcgi_param SCRIPT_FILENAME $request_filename;
        fastcgi_ignore_client_abort off;
}
}
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: nginx отключить auth_basic на url

Сообщение Bizdelnick »

Не понял, в чём проблема-то? Ещё один локейшн не знаете, как добавить?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 935
ОС: BSD/LINUX
Контактная информация:

Re: nginx отключить auth_basic на url

Сообщение bars »

Bizdelnick писал:
16.03.2022 14:24
Не понял, в чём проблема-то? Ещё один локейшн не знаете, как добавить?
не понял насчет еще один локейшен.
Не могу убрать доп. авторизацию auth_basic с url /bitrix/services/yandex.market/trading/marketplace/RW/stocks/.
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: nginx отключить auth_basic на url

Сообщение Bizdelnick »

Ну вот добавляете соответствующий location и в нём отключаете auth_basic.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 935
ОС: BSD/LINUX
Контактная информация:

Re: nginx отключить auth_basic на url

Сообщение bars »

Код: Выделить всё

location / {
include inc_conf/auth_basic;
        root /usr/local/www/test/test.site_ru;
        error_page 404 = /404.php;
}

location ~ \.php$ {
include inc_conf/auth_basic;
        fastcgi_pass unix:/tmp/test.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /usr/local/www/test/test.site_ru/$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f test@test.site_ru.ru";
  if (!-f $request_filename) {
        rewrite  ^(.*)$  /404.php last;
  }
}
...
..
...
location /bitrix/services/yandex.market/trading/marketplace/RW/stocks/ {
auth_basic off;
allow all;
}
Не работает.
Доп авторизация спрашивается.

Код: Выделить всё

location /bitrix/services/yandex.market/trading/marketplace/RW/stocks/ {
auth_basic off;
allow all;
}
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 935
ОС: BSD/LINUX
Контактная информация:

Re: nginx отключить auth_basic на url

Сообщение bars »

актуально.
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: nginx отключить auth_basic на url

Сообщение Bizdelnick »

https://nginx.org/ru/docs/http/ngx_http_core_module.html#location
Чтобы найти location, соответствующий запросу, вначале проверяются location’ы, заданные префиксными строками (префиксные location’ы). Среди них ищется location с совпадающим префиксом максимальной длины и запоминается. Затем проверяются регулярные выражения, в порядке их следования в конфигурационном файле. Проверка регулярных выражений прекращается после первого же совпадения, и используется соответствующая конфигурация. Если совпадение с регулярным выражением не найдено, то используется конфигурация запомненного ранее префиксного location’а.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 935
ОС: BSD/LINUX
Контактная информация:

Re: nginx отключить auth_basic на url

Сообщение bars »

Это я в курсе.
Так в чем тогда дело у меня?
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: nginx отключить auth_basic на url

Сообщение Bizdelnick »

bars писал:
17.03.2022 15:47
Так в чем тогда дело у меня?
Откуда я знаю? Вы ж только кусок конфига показали. А в предыдущем варианте у Вас был location с регуляркой, который имел бы более высокий приоритет, если бы сохранился. И, может быть, ещё какие-то есть.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 935
ОС: BSD/LINUX
Контактная информация:

Re: nginx отключить auth_basic на url

Сообщение bars »

Bizdelnick писал:
17.03.2022 15:51
Откуда я знаю? Вы ж только кусок конфига показали. А в предыдущем варианте у Вас был location с регуляркой, который имел бы более высокий приоритет, если бы сохранился. И, может быть, ещё какие-то есть.
Вроде нет покрывающего локейшена.

Код: Выделить всё

server {
listen 1.1.1.1:80;
server_name www.test.mysite.ru;
location /.well-known/acme-challenge/ {
root /usr/local/www/cert/;
}
location / {
return 301 https://test.mysite.ru$request_uri;
}
}

server {
listen 1.1.1.1:80;
server_name test.mysite.ru;
location /.well-known/acme-challenge/ {
root /usr/local/www/cert/;
}
location / {
return 301 https://test.mysite.ru$request_uri;
}
}

server {
listen 1.1.1.1:443 http2 ssl;
server_name www.test.mysite.ru;
return 301 https://test.mysite.ru$request_uri;
include inc_conf/ssl;
}

server {
listen 1.1.1.1:443 http2 ssl;
include inc_conf/ssl;
open_file_cache max=300000 inactive=20s;
open_file_cache_valid 360s;
open_file_cache_min_uses 2;
open_file_cache_errors on;
server_name test.mysite.ru;
access_log /var/log/nginx/access_test.mysite.ru.log;
error_log /var/log/nginx/error.log;
root /usr/local/www/test/test_mysite_ru;
index index.html index.php;

if ($http_host ~ "\.$") {
return 301 https://test.mysite.ru$request_uri;
}

include /usr/local/etc/nginx/redirect_tred_04032021;

rewrite ^([^.\?]*[^/])$ $1/ permanent;

if ($request_uri ~ "^(/(?!personal|search|auth|bitrix).*)index\.(?:php$|html)") {
return 301 $1;
}

if ($bad_method = 1) { return 444; }
if ($bad_bot = 1) { return 403; }

if (!-e $request_filename) {
rewrite  ^(?!.*\.(jpg|jpeg|png|webp)$)(.*)$  /bitrix/urlrewrite.php last;
}

location / {
include inc_conf/auth_basic;
root /usr/local/www/test/test_mysite_ru;
error_page 404 = /404.php;
}

location ~ \.php$ {
include inc_conf/auth_basic;
fastcgi_pass unix:/tmp/test.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/www/test/test_mysite_ru/$fastcgi_script_name;
include fastcgi_params;
fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f www@test.mysite.ru";
if (!-f $request_filename) {
rewrite  ^(.*)$  /404.php last;
}
}

location ~* ^/bitrix/components/bitrix/player/mediaplayer/player$ {
add_header Access-Control-Allow-Origin *;
}

location ^~ /bitrix/admin/ {
include inc_conf/auth_basic;
location ~ \.php$ {
fastcgi_pass unix:/tmp/test.sock;
fastcgi_index index.php;
include fastcgi_params;
send_timeout 240;
fastcgi_read_timeout 240;
fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f www@test.mysite.ru";
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_ignore_client_abort off;
}
}


location ~ /upload/.+\.(jpg|jpeg|png|webp) {
try_files $image_path_without_webp =404;
proxy_cache reycache;
proxy_cache_bypass $http_cache_control;
proxy_buffers 8 2m;
proxy_buffer_size 10m;
proxy_busy_buffers_size 10m;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.3.4:8082;
}

location /bitrix/services/yandex.market/trading/marketplace/RW/stocks/ {
auth_basic off;
allow all;
}

location ~* \.(swf|zip|rar|arj|cab|exe|dll|ico|gif|bmp|mp3|avi|mov|mpg|mpeg|txt|amr|mmf|wml|wbmp|mid|midi|3gp)$ { 
error_page 404 /404.html;
expires 30d;
charset utf-8;
source_charset utf-8;
access_log off;
}

location ~* ^/(upload|bitrix/images|bitrix/tmp) {
expires 30d;
access_log off;
}

location = /favicon.ico {
log_not_found off;
access_log off;
}

location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}

location ~ (/bitrix/modules|bitrix/managed_cache|bitrix/local_cache|bitrix/stack_cache|/upload/support/not_image|/bitrix/php_interface) {
deny all;
access_log off;
}

location ~ /.svn/ {
deny all;
access_log off;
}
   
location ~ /\.ht {
deny all;
access_log off;
}

location ~ /.git {
deny all;
access_log off;
}
}
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Ответить