Назад | Перейти на главную страницу

Nginx htaccess для строки запроса в Redmine

это вопрос от
Не работает nginx htaccess для специальной страницы в redmine

Повторяю: у меня есть система управления проектами redmine. Также у меня есть nginx, как обратный прокси для Redmine. Итак, мне нужно заблокировать какую-то страницу в Redmine для пользователей. В redmine.conf я сделал:

location /projects/wwe/dmsf
{
        auth_basic "Test4";
        auth_basic_user_file /etc/nginx/legalinfopass;
        alias /usr/share/redmine/public;
        try_files $uri @fcgi;
}

Я создал файл htaccess через htpasswd. Оно работает. Но мне нужно заблокировать QUERY STRING. Я хочу что-то вроде

location /projects/wwe/dmsf?folder_id=351
{
        auth_basic "Test4";
        auth_basic_user_file /etc/nginx/legalinfopass;
        alias /usr/share/redmine/public;
        try_files $uri @fcgi;
}

Но конечно не работает. Мой полный redmine.conf:

upstream redmine_default
{
    #server localhost:3000;
    server unix:/tmp/redmine.socket;
}

server
{
    include listen.conf;
    include listen_ssl.conf;

        ssl_certificate_key /etc/letsencrypt/live/redmine.wwe.com/privkey.pem;
        ssl_certificate /etc/letsencrypt/live/redmine.wwe.com/fullchain.pem;

        server_name www.redmine.wwe.com redmine.wwe.com;

# letsencrypt
        location ~ ^/\.well-known/acme-challenge
        {
                auth_basic off; root /home/www/acme;
        }

    location /
    {
        rewrite ^ https://redmine.wwe.org$request_uri? permanent;
    }
}

server
{
    listen 192.168.110.24;
    server_name redmine.wwe.org www.redmine.wwe.org;

    # letsencrypt
    location ~ ^/\.well-known/acme-challenge
    {
        auth_basic off;
        root /home/www/acme;
    }

    location /
    {
        rewrite ^ https://redmine.wwe.org$request_uri? permanent;
    }
}

server
{
    listen 192.168.110.24:443 ssl http2;

    client_max_body_size 250M;

    server_name redmine.wwe.org;

    ssl_certificate_key /etc/letsencrypt/live/www.redmine.wwe.org/privkey.pem;
    ssl_certificate /etc/letsencrypt/live/www.redmine.wwe.org/fullchain.pem;


# letsencrypt
    location ~ ^/\.well-known/acme-challenge
    {
        auth_basic off; root /home/www/acme;
    }

    location /projects/wwe/wiki/PHP_programmers
    {
        auth_basic "Test";
        auth_basic_user_file /etc/nginx/wikipass;
        alias /usr/share/redmine/public;
        try_files $uri @fcgi;
    }

    location /projects/wwe/wiki/Vacancy_interviews
    {
        auth_basic "Test";
        auth_basic_user_file /etc/nginx/wikipass;
        alias /usr/share/redmine/public;
        try_files $uri @fcgi;
    }

    location /projects/wwe/wiki/Hidden_for_creds
    {
        auth_basic "Test2";
        auth_basic_user_file /etc/nginx/credpass;
        alias /usr/share/redmine/public;
        try_files $uri @fcgi;
    }

    location /projects/wwe/wiki/Management
    {
        auth_basic "Test3";
        auth_basic_user_file /etc/nginx/managementpass;
        alias /usr/share/redmine/public;
        try_files $uri @fcgi;
    }

    location /projects/wwe/dmsf?folder_id=351
    {
                auth_basic "Test4";
                auth_basic_user_file /etc/nginx/legalinfopass;
                alias /usr/share/redmine/public;
                try_files $uri @fcgi;
    }

    location /files
    {
        auth_basic off;
        internal;
        root /usr/share/redmine;
    }

    location /public
    {
        auth_basic off;
        internal;
        root /usr/share/redmine;
    }

    location /tmp2
    {
        auth_basic off;
        internal;
        root /usr/share/redmine;
    }


    location /
    {
        auth_basic off;
        alias /usr/share/redmine/public;
        try_files $uri @fcgi;
    }

    location @fcgi
    {
        auth_basic off;

        ##proxy_set_header X-Sendfile-Type X-Accel-Redirect;
        ##proxy_set_header X-Accel-Mapping /usr/share/redmine/=/;

        ##proxy_pass http://redmine2_default;
        include uwsgi_params;
        uwsgi_pass redmine_default;
        uwsgi_modifier1 7;
    }
}

Вы должны попробовать это и поэкспериментировать с регулярным выражением, чтобы настроить его в соответствии с вашими требованиями.

location ~* ^\/projects/wwe/dmsf.+351
{
    auth_basic "Test4";
    auth_basic_user_file /etc/nginx/legalinfopass;
    alias /usr/share/redmine/public;
    try_files $uri @fcgi;
}