J’ai installé une nouvelle instance Simplicité 5.3 avec Docker mais lorsque j’essaie de me connecter pour la première fois avec le login “designer” et le mot de passe “simplicite” j’ai une erreur 401.
Steps to reproduce
J’ai créé un fichier docker-compose.yml avec le contenu suivant :
version: "3"
services:
db:
image: postgres:latest
restart: always
container_name: myinstance-postgres-database
environment:
POSTGRES_USER: "simplicite"
POSTGRES_PASSWORD: "simplicite"
POSTGRES_DB: "simplicite"
# ZZZ Uncomment these 2 lines only if you want to access to the database from the host machine ZZZ
#ports:
# - 127.0.0.1:5432:5432
volumes:
- myinstance-postgres-db:/var/lib/postgresql/data
simplicite:
image: registry.simplicite.io/platform:5.3
restart: always
container_name: myinstance-postgres-webapp
environment:
DB_SETUP: "true"
DB_VENDOR: "postgresql"
DB_HOST: db
DB_USER: "simplicite"
DB_PASSWORD: "simplicite"
DB_NAME: "simplicite"
DB_WAIT: 10
ports:
- 80:8080
volumes:
- myinstance-postgres-git:/usr/local/tomcat/webapps/ROOT/WEB-INF/git
depends_on:
- db
volumes:
myinstance-postgres-db:
myinstance-postgres-git:
Ensuite j’exécute la commande : sudo docker-compose up -d
Je me connecte avec le login “designer” et le mot de passe “simplicite”. J’ai l’erreur suivante :
En effet, sur WSL ça marche bien je n’ai pas d’erreur, mais sur des VM CentOS j’ai toujours l’erreur
En 5.2 je n’ai pas l’erreur que ce soit sur WSL ou les VM CentOS, étrange. Je vais faire d’autres tests, ça doit venir de mes VM, désolé ^^
Merci David
Tu veux dire machine hôte sur CentOS ? Quelle version ?
Je pose la question car on fait nos tests usine sur un AlmaLinux 8, i.e. un CentOS 8 (un peu plus stable)
On déploie aussi régulièrement sur des hôtes CentOS 7 sans pb…
Peut être une histoire de SELinux actif (et à un niveau trop élevé) sur cette machine hôte ?
Ou un filtrage type WAF qui retire des choses clé dans les requêtes HTTP (ex: le cookie de session) ?
etc.
Oui, c’est un CentOS Linux release 7.9.2009 (Core)
Peut être une histoire de SELinux actif (et à un niveau trop élevé) sur cette machine hôte ?
Ou un filtrage type WAF qui retire des choses clé dans les requêtes HTTP (ex: le cookie de session) ?
Je vais regarder, merci ^^
(Mais j’ai d’autres instances Simplicité 5.1 et 5.2 qui tournent sur la même machine sans cette erreur, l’erreur serait présente pour les autres aussi je pense )
Il n’y a pas de différence de packaging entre les images (à jour) Docker 5.x
C’est la même image “server” (=JDK+Tomcat), la seule différence c’est la webapp Simplicité (dont la structure est similaire)
Finalement j’ai pu me connecter mais uniquement en https (reverse proxy + port 8443 ou en direct sur le port 8444). Quand j’essaie de me connecter en http (port 8080) j’ai l’erreur 401.
J’ai testé en lançant en local une 5.3.2-preview (i.e. la prochaine 5.3 mais pas très différente à ce stade de la 5.3.1 releasée) et je n’ai pas de pb avec le port 8080.
J’ai ensuite testé sur un container Docker de version 5.3.1 exposant le port 8080 (démarré sur un serveur Linux dont je forwarde le port 8080 via SSH en local sur le port 8181), pas de pb non plus:
En local ça fonctionne aussi de mon côté.
Je viens de faire ton second test en forwardant le port 8080 sur le port local 8181, ça marche aussi de mon côté
Effectivement je reproduis le symptôme décris en accédant directement à l’URL en http:// constituée de l’adresse IP (ou du hostname) du serveur et du port 8080
Ca doit avoir un rapport avec cette config qui est effectivement différente entre la 5.2 et la 5.3 dans le META-INF/context.xml:
Car on voit dans la console “Network” du navigateur que le cookie de session n’est pas dans les requêtes suivante de celle à / (qui redirige sur /ui/) qui initie la session, d’où l’erreur 401
Avec une URL en localhost et des URLs en https:// ça doit être passant pour d’obscures raisons.
Bref, sur le web moderne il faut oublier le protocole http://