تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
2 الردود
18402 أدوات العرض

I deploy OpenERP behind nginx (1.7.4). My nginx configuration is simple near default, just proxying 80 to 8069. OpenERP is serving in port 8069. I set proxy_mode to True in openerp-server.conf. I also edit file wsgi_server.py in method application to allow HTTP_X_FORWARDED_FOR key in environ.

...

    if config['proxy_mode'] and ('HTTP_X_FORWARDED_HOST' in environ or 'HTTP_X_FORWARDED_FOR' in environ):
        environ['HTTP_X_FORWARDED_HOST'] = environ['HTTP_X_FORWARDED_FOR']
        return werkzeug.contrib.fixers.ProxyFix(application_unproxied)(environ, start_response)

...

I use werkzeug version 0.9.4.

The result is I still get local ip, 127.0.0.1, in the werkzeug info log, even though I access the server from another IP. Howto show real client IP in werkzeug log if OpenERP serve behind reverse-proxy?

[1] https://www.odoo.com/forum/help-1/question/nginx-reverse-proxy-on-80-443-32052, my nginx configuration is similar to this

[2] https://www.odoo.com/forum/help-1/question/preserving-clients-remote-adress-when-running-odoo-behind-apache-ssl-proxy-60967, another related question

الصورة الرمزية
إهمال
أفضل إجابة

Not sure if it can be considered thread necromancy, but have a look a this for a v8/9 solution:

https://blog.hartwork.org/?p=2655 

It worked for me.

الصورة الرمزية
إهمال

How do you apply this solution?

المنشورات ذات الصلة الردود أدوات العرض النشاط
2
مارس 15
7343
1
أبريل 23
58125
How to run tests تم الحل
4
أبريل 23
45784
1
يناير 24
15690
1
مارس 15
4471