Odoo documentation sources
Go to file
Julien Castiaux 883442e483 [IMP] developer/reference/cli: --proxy-mode
Many customers struggle with their web server configuration, notably
regarding the `--proxy-mode` option and the way `X-Forwarded-*` HTTP
request headers are interpreted within Odoo.

The `--proxy-mode` section has been updated to cover the most common
misunderstandings and to give guidances on how to setup a web server.

Odoo always only takes the last entry of the `X-Forwarded-*` request
header because there are situations where it is not possible to
determine which last n-th entry to use. Employees might access their
odoo database via the internal network: connecting directly to nginx,
while customers might access the database via an additional proxy such
as cloudflare. The real IP of employees would be the last inside the
`X-Forwarded-For` chain, while the real IP of customers would be the
*second* last entry inside the chain. It would be incorrect to always
take the same nth last entry inside the chain. The cloudflare's own IP
address must be discarded from the chain. Web servers usually feature
a way to ignore trusted IP from the chain, a way so that the real IP
of the user is always the last entry inside the chain. Odoo relies on
such feature to be active and configured.

Prior discussions about `X-Forwarded-For`:
* odoo/odoo#104947
* odoo/odoo#118629
* odoo/odoo#139536

All `X-Forwarded-*` headers are ignored in case the `X-Forwarded-Host`
header is missing (even with `--proxy-mode`). System admin might be
tempted to not set this header and to set `Host` instead, this is
broken as this a user-agent would be able to spoof `X-Forwarded-Host`
and Odoo would use that instead of the correct `Host`.

Prior discussions about `X-Forwarded-Host`:
* odoo/odoo#63277
* odoo/odoo#70117

closes odoo/documentation#6744

X-original-commit: 3d91c57b57
Signed-off-by: Julien Castiaux (juc) <juc@odoo.com>
2023-12-03 08:26:12 +00:00
.tx [I18N] *: export 17.0 translations 2023-11-08 12:17:46 +00:00
content [IMP] developer/reference/cli: --proxy-mode 2023-12-03 08:26:12 +00:00
extensions [IMP] odoo_theme: toctrees-l1,l2 design improvement 2023-11-21 12:58:53 +00:00
locale [I18N] *: export 17.0 translations 2023-12-01 13:30:01 +00:00
redirects [REM] crm: google spreadsheet integration 2023-11-21 18:44:18 +00:00
static [IMP] odoo_theme: design improvements 2023-04-12 12:26:14 +02:00
tests [IMP] tests: make review UX and resource files 2023-11-14 02:35:55 +00:00
.gitattributes [ADD] .gitattributes: include RST files in language statistic on GitHub 2022-04-29 11:01:52 +02:00
.gitignore [ADD] .gitattributes: include RST files in language statistic on GitHub 2022-04-29 11:01:52 +02:00
commit_template.txt [FIX] *: enforce 1 newline on files end 2022-11-18 18:04:49 +01:00
conf.py [IMP] supported_versions: release 17.0 2023-11-07 17:10:19 +00:00
COPYRIGHT [ADD] Add LICENSE and COPYRIGHT 2023-09-13 04:37:09 +00:00
LICENSE [ADD] Add LICENSE and COPYRIGHT 2023-09-13 04:37:09 +00:00
Makefile [IMP] tests: make review UX and resource files 2023-11-14 02:35:55 +00:00
README.md [IMP] README: remove version from links and rephrase explanations 2023-01-03 20:14:55 +01:00
requirements.txt [FIX] requirements: bump libsass to match odoo 2023-05-16 08:24:19 +02:00

Odoo documentation

Build the documentation locally

Requirements

  • Git
  • Python 3.6, 3.7, or 3.8
  • Python dependencies listed in the file requirements.txt.
  • Make
  • A local copy of the odoo/odoo repository (optional)

Instructions

  1. In a terminal, navigate to the root directory of the documentation and build it make. Additional commands are available with make help.
  2. Open the file documentation/_build/html/index.html in your web browser.
  3. See this guide for more detailed instructions.

Optional: place your local copy of the odoo/odoo repository in the parent directory or in the root directory of the documentation to build the latter with the documented Python docstrings.

Contribute to the documentation

For contributions to the content of the documentation, please refer to the Introduction Guide.

To report a content issue, request new content or ask a question, use the repository's issue tracker.

Learn More

To learn more about Odoo, in addition to the documentation, have a look at the official eLearning and Scale-up, The Business Game.