#nginx #odoo
#nginx #odoo
Вопрос:
Что я должен изменить в (почти) конфигурации Nginx по умолчанию, приведенной ниже, чтобы иметь возможность открывать Odoo в http://erp.my-odoo.com
, зная, что я установил DNS, erp.my-odoo.com
указывающий на сервер Odoo в 192.168.0.10
?
/etc/nginx/conf.d/odoo.conf
# Odoo Upstreams
upstream odooserver {
server erp.my-odoo.com:8069;
}
server {
listen 80;
server_name erp.my-odoo.com;
access_log /var/log/nginx/odoo_access.log;
error_log /var/log/nginx/odoo_error.log;
# Proxy settings
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
# Request for root domain
location / {
proxy_redirect off;
proxy_pass http://odooserver;
}
# Cache static files
location ~* /web/static/ {
proxy_cache_valid 200 90m;
proxy_buffering on;
expires 864000;
proxy_pass http://odooserver;
}
# Gzip
gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript;
gzip on;
}
Эта конфигурация выдает ошибку ниже:
$ sudo nginx -t
nginx: [emerg] host not found in upstream "erp.my-odoo.com:8069" in /etc/nginx/conf.d/odoo.conf:3
nginx: configuration file /etc/nginx/nginx.conf test failed
Ответ №1:
Убедитесь, что хост erp.my-odoo.com
разрешим вашим сервером, на котором работает nginx, или, если ваш nginx работает на том же сервере, что и ваше приложение Odoo, вы можете изменить восходящий поток на localhost
или 127.0.0.1
.
upstream odooserver {
server 127.0.0.1:8069;
}
Комментарии:
1. После внесения этого изменения тест Nginx успешно пройден, но при открытии URL
erp.my-odoo.com
я перенаправляюсь на,http://odooserver/web
который не разрешенERR_NAME_NOT_RESOLVED
.2. Я не вижу ничего плохого в конфигурации nginx, можете ли вы добавить
proxy_mode = True
в файл конфигурации odoo, перезапустить nginx и Odoo?3. Не уверен, что это правильный способ решить проблему, но я заменил
odooserver
наerp.my-odoo.com
, и теперь он работает.4. Да, не уверен, что пошло не так с вашей конфигурацией. Вы всегда можете пропустить добавление восходящего блока и передачу прокси-сервера в приложение Odoo напрямую, используя
proxy_pass http://127.0.0.1:8069;
, использованиеupstream
блока не обязательно.