Skip to Content
Menu
This question has been flagged
5 Replies
9866 Views

I'm trying to restrict access to /web/database/manager and selector.   I've built a .htpasswd file.  The problem is that the following code doesn't work.  I can still access /web/database/manager and selector

upstream myodoo {

    server 127.0.0.1:8069;

}

server {

        listen 443 default;

        server_name myodoo.myodoo-hosting.com;

        access_log /var/log/nginx/oddo.access.log;

        error_log /var/log/nginx/oddo.error.log;

        if ($scheme = http) {

                return 301 https://myodoo.my-hosting.com$request_uri;

        }

        # SSL cerificate details

        ssl on;

        ssl_certificate /etc/letsencrypt/live/myodoo.my-hosting.com/fullchain.pem;

        ssl_certificate_key /etc/letsencrypt/live/myodoo.my-hosting.com/privkey.pem; keepalive_timeout 60;

        ssl_ciphers EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

        ssl_prefer_server_ciphers on;

        proxy_buffers 16 64k;

        proxy_buffer_size 128k;

        location / {

                proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;

                proxy_redirect off;

                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_set_header X-Forwarded-Proto https;

                proxy_pass http://myodoo;

  

        }

        location ~* /web/static/ {

                proxy_cache_valid 200 60m;

                proxy_buffering on;

                expires 864000;

                proxy_pass http://myodoo;

        }

  location ~ ^/web/database/manager {

                auth_basic "Restricted Access";

                auth_basic_user_file /etc/nginx/.htpasswd;

                proxy_pass http://myodoo;

                # set headers

                # ...

        }

        location ~ ^/web/database/selector {

                auth_basic "Restricted Access";

                auth_basic_user_file /etc/nginx/.htpasswd;

                proxy_pass http://myodoo;

        }

  

  

  }


## http redirects to https ##

server {

    listen 80;

    server_name myodoo.my-hosting.com;

    # Strict Transport Security

    add_header Strict-Transport-Security max-age=2592000;

    rewrite ^/.*$ https://$host$request_uri? permanent;

}

Avatar
Discard

That's not an Odoo problem.

Best Answer

Hi,

If you are trying to restrict the /web/database/manager .  In the conf. file give list_db = False.
Once you given like this and on accessing the database manager(acessing via typing in url) , a warning will be displayed in the page.


 Then in the login page there will not exist the database manager.



This is in V11.


Avatar
Discard

so what if i want to restrict some database with combination of ip and port. Suppose i want to create database of multiple companies on the same server and then i want to restrict that it should now show the database list and the specific company database should be selected by default when they gave the respective ip:port.

dbfilter = ^your_database_name$

Best Answer

Hi Niyas,

I've made the changes to my "odoo-server.conf" file in the "/etc" folder but this does not seem to work.

Does this work for v10 CE?

Avatar
Discard
Author Best Answer

I understand that its not an Odoo problem.  I do see that the first part of my message got truncated.  

I'm trying to restrict access to web/database/ but from all of the google links I found, I can't seem to get it to work.  I've tried several option.  I also looked in Odoo Apps, but couldn't find anything.  Any help would be appreciated.

Odoo 10, Ubuntu 16.04 with nginx as reverse proxy.  the above is my VSB.

thanks,

Dave

Avatar
Discard
Best Answer

As you know from previous comments it is not really and Odoo issue. You can solve the problem in two ways:

1) Restricting access to folders using nginx. It would be something like this:

location ~ /(dir1|dir2|dir3) {
   deny all;
   return 404;
}

2) By installing an app like: https://apps.odoo.com/apps/modules/10.0/web_hide_db_manager_link/

3) U can also make your own module for this

Avatar
Discard