1

this is a question from
Does not work nginx htaccess for special page in redmine

I am repeating: I have system of management of projects redmine. Also, i have nginx, like reverse proxy for redmine. So, i need to block some page in redmine, for users. In redmine.conf, i did:

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

I generated htaccess file via htpasswd. It works. But i need to block QUERY STRING. I want something like

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;
}

But of course it does not work. My full 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;
    }
}
Piduna
  • 501
  • 3
  • 10
  • 23

1 Answers1

0

You should try this, and experiment with regex to adjust it according to your requirement.

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