J'essaye de tester la dernière version de Liferay (Liferay 7.0-ga4) et de l'installer derrière un proxy inverse (nginx). J'utilise docker et docker compose à des fins de test, et je crée un domaine factice docker.domain.com
. Liferay fonctionne correctement si j'accède directement à son URL et si aucun proxy inverse n'est configuré.Exécution de Liferay à la suite d'un proxy inverse Nginx
Aussi, j'ai succès à installer Liferay derrière le serveur nginx si j'utilise l'emplacement racine: dans la section proxy_pass
location/{
proxy_pass http://liferay:8080;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
}
Où liferay
est le nom du conteneur docker lié dans Compose docker. Et les options de Liferay:
web.server.host=docker.domain.com
web.server.protocol=http
web.server.http.port=80
Pour configurer le proxy inverse dans Liferay. Le résultat est correct si je tape http://docker.domain.com/
:
Je peux me connecter, accepter les conditions, ... tout semble bien. Mais quand j'utilise un emplacement qui n'est pas root (c'est-à-dire/lifeay), j'ai des problèmes avec les liens, les images et les CSS en général.
Avec un configuraion dans nginx semblable à:
location /liferay {
proxy_pass http://liferay:8080;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
}
Et d'ajouter comme suggéré here à la configuration de Liferay:
portal.proxy.path=/liferay
Lorsque vous accédez à http://docker.domain.com/liferay
toutes les URL sont foiré et CSS ne sont pas représentés. Ici, je joins une capture d'écran du résultat final:
Il est intéressant de la ligne
http://docker.domain.com/liferay/liferay
Où "Liferay" apparaît deux fois dans l'url. Certaines erreurs apparaissent dans le journal tomcat de la ligne de vie:
12:48:29,019 WARN [http-nio-8080-exec-3][code_jsp:172] {code="404", msg="/liferay/o/mentions-web/css/mentions.css", uri=/liferay/o/mentions-web/css/mentions.css}
12:48:29,021 WARN [http-nio-8080-exec-8][code_jsp:172] {code="404", msg="/liferay/o/frontend-css-web/main.css", uri=/liferay/o/frontend-css-web/main.css}
....
De toute évidence, certains fichiers sont introuvables. J'ai créé un exemple simple avec docker github pour le tester seulement passer quelques minutes si quelqu'un est intéressé. Pourtant, je suis assez sûr que quelque chose manque dans ma configuration de Liferay, mais je ne suis pas capable de comprendre quoi. Au moins, je ne trouve aucun indice dans la documentation officielle.