Menu

Реален потребителски IP адрес, видим от Odoo през Proxy (Nginx, Apache2)

Когато Odoo е зад Proxy (Nginx, Apache2), реалния потребителски IP адрес е видим за Odoo като 127.0.0.1 заради реда

location / {
        proxy_pass http://127.0.0.1:8069;

в /etc/nginx/sites-available/mydomain.com на Nginx конфигурация с Proxy, т.е. реално не е видим. А защо Odoo трябва да е зад Proxy? Например за да работи SSL на порт 443 (https), а дори и на порт 80 (http). Ако ползвате Nginx + http2, се получава значително по-добро бързодействие със SSL от колкото с Proxy под Apache2.

 

Защо е нужно да се вижда реалния IP адрес от Odoo? Първо, в лога всички заявки са с един и същи IP, 127.0.0.1, и няма как реално това да помогне при търсене на решение на някои проблеми. Второ, съществуват някои модули за защита от неправомерен достъп и атаки като Authentification - Brute-force Attack, който записва неуспешните влизания на потребител и IP и след зададен брой неуспешни опити банва IP. Но какво се случва, ако IP адреса за всички опити за логване е един и същ, 127.0.0.1 - никой, освен администратора няма достъп.

Съшествуват няколко пача на /opt/odoo8/odoo/openerp/service/wsgi_server.py за решаване на този проблем, но скоро се появи модул в https://github.com/OCA/server-tools, който успешно решава този проблем. Модула се казва X-Forwarded-For IPs in log. Важно е в Nginx конфигурация с Proxy във файла в /etc/nginx/sites-available/mydomain.com да добавите

location / {
        proxy_pass http://127.0.0.1:8069;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        .....

макар, че би трябвало да го имате.

 

Последно променена вСряда, 22 Юни 2016 11:52
  • Оценете
    (1 глас)
  • Публикувана в Odoo 8
  • Прочетена 4647 пъти
администратор

Odoo (OpenERP) интегратор и администратор

Уеб сайт: www.openerp.bg

Оставете коментар

Моля убедете се, че всички задължътелни полета (маркирани със звезда) са попълнени. Не е разрешен HTML код.

нагоре

Вход или Регистрирай се