Pomoc

0

Caddy Server Reverse Proxy: How to configure virtual hosts for Odoo

Avatar
Ermin Trevisan

I want to use Caddy Server as a reverse proxy server. How do I configure my virtual hosts (Caddyfile) to work with proper real (remote) IPs and automatic SSL? At the moment, the Odoo logs show the Proxy-Server IP as request origin, despite of the proper proxy-mode setting in the file odoo.conf.

Avatar
Zrušiť
2 Odpovede
1
Avatar
Ermin Trevisan
Best Answer

For Caddy Server version 2.0 and higher please revert to this post:

https://www.odoo.com/fr_FR/forum/aide-1/automatic-ssl-easy-way-to-secure-your-odoo-website-domains-using-caddy-server-2-and-let-s-encrypt-certificates-176598

Avatar
Zrušiť
1
Avatar
Ermin Trevisan
Best Answer

Prerequisites:

  1. Set-up and deploy Caddy Server according to your preferences, preferably on a dedicated server.

  2. Set "proxy_mode = True" in your odoo.conf file

  3. Make sure you have installed werkzeug Version 0.11 or higher (Ubuntu 18.04 provides werkzeug 0.10.4 only). Example for Ubuntu 18.04 and Odoo 11.0 or higher (Python 3):

sudo -H pip3 install werkzeug -U

For Odoo versions < 11.0 use "pip" instead of "pip3".

As long as this feature request is not implemented, the preset "transparent" of the Caddy proxy directive is not sufficient to work properly. The argument "header_upstream X-Forwarded-Host {host}" must be added manually.

See a sample Caddyfile for a successful Odoo proxying with automatic SSL:

example.com {
  redir https://www.example.com
}

www.example.com {
  proxy / http://xxx.xxx.xxx.xxx:8069 {
    transparent
    header_upstream X-Forwarded-Host {host} # transparent preset is not enough

#   header_upstream X-Odoo-dbfilter databasename # in case you use dbfilter_from_header
    }

#  proxy /longpolling http://xxx.xxx.xxx.xxx:8072 { # in case you use it
#    transparent
#    }

#  realip cloudflare

  gzip
  log /var/log/caddy/example.access.log
  errors /var/log/caddy/example.error.log

#    tls {
#    dns cloudflare
#    }

}


Avatar
Zrušiť