Community mailing list archives

community@mail.odoo.com

Re: Proplem with dbfilter nginx ssl

by
Ygol InternetWork, Yves Goldberg
- 05/26/2016 08:47:54
 
Here's what I did that solved my problem:
 
In my nginx website configuration I was using the same configuration file for all the databases (subdomain).
 
server {
    listen      80;
    server_name sub1.myodoo.com sub2.myodoo.com sub3.myodoo.com sub4.myodoo.com;
 
 
    add_header Strict-Transport-Security max-age=2592000;
    rewrite ^/.*$ https://$host$request_uri? permanent;
}
 
 
After creating separate nginx configuration for each database with a different upstream everything runs as it should.
 
Thank you all for your answers. Special tnx to Nicholas.
 
 
--
Yves Goldberg
odooOfficial Partner - OCA member
Open Source ERP, CRM & CMS
 
T +972 (3) 720 8818
+972 (55) 966 1405
+32 (2) 588 2500
 
Raanana [ISRAEL]
 
LinkedIn  Skype  Github  Quora 
--
 
 
----- Original message -----
From: Nicholas Riegel <nicholasr@itpediasolutions.com>
To: Community <community@mail.odoo.com>
Subject: Re: Proplem with dbfilter nginx ssl
Date: Tue, 24 May 2016 18:30:47 -0000
 

Yes. We have been able to configure Odoo 8, Odoo 9 CE, and Odoo 9 EE server for multiple databases mapped to the different domains. These are our /etc/odoo.conf setting:
 
dbfilter = ^%h$
 
Where
db name = subdomain_domian_tld (example: demo9ee_openodoo_com)
domain/URL = subdomain.domain.tld (example: https://demo9ee.openodoo.com)
 
You also have to configure nginx to use the matching domain. Example:
 
server_name   demo9ee.openodoo.com
 
The ports don't matter as long as they are different and don't conflict with other server applications. 8069 and 8071 are fine
 
You should not have to modify http.py. to accomplish multi database single Odoo server, just proper configuration.
 
Please contact me directly using Skype of Google Hangouts if you need further assistance. I can probably make additional configuration setting recommendations for your specific needs, and it is easier to do this in a voice call vs. mailing list.

Nicholas Riegel, CEO / Founder
MD/DC/VA: 240-343-ITPS (4877)
Skype ID: itpedia
"Powering our customers into the future by leveraging the distinct advantages of open source software."

 
 
On 05/24/2016 09:57 AM, info@ygol.com wrote:
Does odoo works for multi-database with db-filter, nginx and ssl on the same ports (8069 for the different databases and 8071 for the longpolling)?
 
or is this not recommended for production?
 
as in my 1st mail, I had to modify the core http.py file to make this work and now I get problem with multiple cron [ref] and wonder if it is also not related to my setting.
 
 
[ref] error in log postgresql
odoo@pw ERROR:  could not obtain lock on row in relation "ir_cron"
2016-05-24 09:50:20 EDT [5187-2] odoo@pw STATEMENT:  SELECT *
                                           FROM ir_cron
                                           WHERE numbercall != 0
                                              AND active
                                              AND nextcall <= (now() at time zone 'UTC')
                                              AND id=4
                                           FOR UPDATE NOWAIT
 
 
thank you
 
--
Yves Goldberg
--
 
 
----- Original message -----
Subject: Re: Proplem with dbfilter nginx ssl
Date: Sat, 21 May 2016 19:54:15 +0300
 
Nikesh, Graeme. The problem I have is not related to using different brwser or profile. tnx 4 answering though.
 
 
----- Original message -----
From: Graeme Gellatly <gdgellatly@gmail.com>
To: Community <community@mail.odoo.com>
Subject: Re: Proplem with dbfilter nginx ssl
Date: Sat, 21 May 2016 10:52:52 -0000
 

You can if you use multifox extension in Firefox

 
On Sat, 21 May 2016 10:07 PM Nikesh P <nikesh@cybrosys.in> wrote:
Hi,
 
You cannot stay logged in different databases of a particular odoo instance at the same time in same browser .

 
On Sat, May 21, 2016 at 3:04 PM, <info@ygol.com> wrote:
yes. proxy_mode = True 
 
and 
 
the headers in nginx are set as:
      proxy_set_header    Host            $host;
        proxy_set_header    X-Real-IP       $remote_addr;
        proxy_set_header    X-Forwarded-For $http_host;
      proxy_set_header    X-Forwarded-Proto https; 
 
 
--
Yves Goldberg - איב גולדברג
odooOfficial Partner - OCA member
Open Source ERP, CRM & CMS
 
T +972 (3) 720 8818
+972 (55) 966 1405
+32 (2) 588 2500
 
Raanana [ISRAEL]
 
LinkedIn  Skype  Github  Quora 
--
 
 
----- Original message -----
From: Nicolas Seinlet <nse@odoo.com>
To: Community <community@mail.odoo.com>
Subject: Re: Proplem with dbfilter nginx ssl
 
Date: Sat, 21 May 2016 09:22:55 -0000
 
Hi,
 
have you enabled proxy_mode in odoo config, as well as forwarding correct headers in nginx?
 
 
 
 
Seinlet Nicolas <nse@odoo.com>
Technical Consultant 
Chaussée de Namur, 40 
1367 Grand-Rosière, Belgium
 
 
 
On Sat, May 21, 2016 at 8:27 AM, <info@ygol.com> wrote:
 
Hi communiy,
 
running odoo 9e with dbfilter and nginx with ssl, I've faced a problem "session expired" and thus not being able to stay logged in the different databases. This is what's in the log:
 
Traceback (most recent call last):
  File "/odoo/odoo-server/openerp/http.py", line 643, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/odoo/odoo-server/openerp/http.py", line 1625, in _dispatch_nodb
    func, arguments = self.nodb_routing_map.bind_to_environ(request.httprequest.environ).match()
  File "/usr/lib/python2.7/dist-packages/werkzeug/routing.py", line 1433, in match
    raise NotFound()
NotFound: 404: Not Found
 
I followed:
 
and modified in http.py which solve the problem.
 
def setup_db(self, httprequest):
    db = httprequest.session.db
    # Check if session.db is legit
    if db:
        if db not in db_filter([db], httprequest=httprequest):
            _logger.warn("Logged into database '%s', but dbfilter " "rejects it; logging session out.", db)
            # httprequest.session.logout() <----------- disable the session logout
            # db = None <----------- return db = db, i.e. do nothing by this function
            db = db
    if not db:
        httprequest.session.db = db_monodb(httprequest)
 
1. Do you know a way to fix the problem without modifying core code?
2. What would be the consequences of these modification to http.py?
 
thank you.
 
 
--
Yves Goldberg - איב גולדברג
odooOfficial Partner - OCA member
Open Source ERP, CRM & CMS
 
 
Raanana [ISRAEL]
 
LinkedIn  Skype  Github  Quora 
--
 


_______________________________________________
Post to: mailto:community@mail.odoo.com


_______________________________________________
Post to: mailto:community@mail.odoo.com

Email had 1 attachment:

  • image001.png
      4k (image/png)
 

_______________________________________________


 
 
 
--
 
NIKESH P
PYTHON DEVELOPER
Project & IT Department
 
 nikesh@cybrosys.in
 +91 494 3015006 / 07
 +91 8606827707
 cybroopenerp
 

 
Facebook Twitter LinkedIn Google Plus Pinterest Company
 
This email and any file transmitted with it are confidential and intended solely for the use of the individual or entity whom they are addressed.If you have received this email in error please notify the system manager. The company accepts no liability for any damage caused by any virus transmitted by this email.


_______________________________________________
Post to: mailto:community@mail.odoo.com



_______________________________________________


 

_______________________________________________
 

_______________________________________________
Post to: mailto:community@mail.odoo.com

Email had 1 attachment:

  • logo_rectangle-email.png
      61k (image/png)