У нас есть Windows 2012 R2 с Apache и обслуживающим несколько доменов. Один, в частности, используется для размещения страниц наших клиентов. Один попросил обслужить экземпляр Odoo, работающий на той же машине. Итак, мы настроили это
<VirtualHost *:443>
DocumentRoot "D:\Internet\WEB\example.com"
ServerName www.example.com
SSLEngine on
SSLCertificateFile "${CERT_HOME}/example.com/cert.pem"
SSLCertificateKeyFile "${CERT_HOME}/example.com/example.com.pem"
SSLCertificateChainFile "${CERT_HOME}/example.com/fullchain.pem"
.
.
Alias /customer1 "D:\some_google_drive_directory" # Nothing to do. This is for another customer. There are several like this
.
.
ProxyRequests Off
<Location /odoo/>
ProxyPass http://localhost:8069/
ProxyPassReverse /
ProxyHTMLEnable On
ProxyHTMLExtended On
ProxyHTMLLinks a href
ProxyHTMLLinks area href
ProxyHTMLLinks link href
ProxyHTMLLinks img src longdesc usemap
ProxyHTMLLinks object classid codebase data usemap
ProxyHTMLLinks q cite
ProxyHTMLLinks blockquote cite
ProxyHTMLLinks ins cite
ProxyHTMLLinks del cite
ProxyHTMLLinks form action
ProxyHTMLLinks input src usemap
ProxyHTMLLinks head profile
ProxyHTMLLinks base href
ProxyHTMLLinks script src for
ProxyHTMLLinks iframe src
RequestHeader unset Accept-Encoding
ProxyHTMLURLMap /web /odoo/web # I´ve seen all odoo directories start with /web
Header add referer http://localhost:8069/
RequestHeader set referer http://localhost:8069/
</Location>
Экран входа в систему отображается, как и ожидалось, но не работает вообще.
Мы обнаружили, что сценарий выполняет GET и POST из / Интернет из того, что он догадывается, это сервер Odoo:
web.assets_common.js:1209 GET https://www.example.com/web/webclient/qweb?mods= 404 (Not Found)
web.assets_common.js:1209 POST https://www.example.com/web/webclient/bootstrap_translations 404 (Not Found)
Который / Интернет закодировано в сценарии, что кажется логичным
Таким образом, проблема, похоже, в том, что поскольку эти GET и POST завершились неудачно, все приложение не запускается. После входа в систему появляется просто пустой экран.
Никакие настройки Odoo не были изменены. Если мы введем правильный URL-адрес (как для прокси, так и для локального хоста), он будет работать нормально:
https://www.example.com/odoo/web/webclient/qweb?mods=
http://localhost:8069/web/webclient/qweb?mods=
Мы пробовали перезаписать
RewriteRule /web /odoo/web
LogLevel debug proxy_html:trace5
Изучив файл журнала, мы обнаружили, что правило действительно соблюдается и применяется, но помимо этого Расположение / odoo / не обрабатывается
Возможно перенаправление с / Интернет к / odoo / web / будет работа? Есть ли другие предложения или чего-то не хватает в нашей конфигурации?