THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline

#1 Passage en https

(04-11-2020 15:49:45)


Bonjour,

Aujourd'hui, nous venons d'installer sur notre boutique Thelia 2.3.1 un certificat SSL.

J'ai mis à jour l'URL de la variable url_site avec le https et j'ai également vidé les caches avec les boutons présents dans la rubrique "Configuration avancée".

Pourtant, les liens vers les fichiers css pointent toujours vers la version http, ce qui les empêche d’être chargé,  le rendu se fait donc avec du HTML brut.

De même, partout sur le site, les assets sont générés en http, comme si le changement de la variable était resté sans effet.

Comment puis remédier à ce problème pour que les chemins des assets soient générés en tenant compte de l'url en https ?

Offline

#2 Re: Passage en https

(04-11-2020 16:18:24)


Thelia utilise pour générer les URLs l'URL de base avec laquelle tu accèdes au site. Si tu utilise https://... les URL générées doivent être en https://...

Il faut de plus dans le htaccess mettre en place une redirection de http vers https.


OpenStudio Toulouse

Offline

#3 Re: Passage en https

(05-11-2020 16:48:33)


Merci beaucoup pour ta réponse, c'est ce qu'il m'avait semblé lire sur les posts du forum, pourtant, lorsque j'accès en https à la boutique, les assets sont générés en http.

Je n'ai pas encore mis la redirection http -> https dans le fichier htaccess car la boutique est en fonctionnement, j’attends d'avoir réglé ce problème pour mettre en place la redirection.

Y aurait il une autre piste à creuser ?

Offline

#4 Re: Passage en https

(05-11-2020 16:57:24)


Il n'y a rien en dur dans le code, on est bien sur des {stylesheet file="/assets/dist/...."} ?


OpenStudio Toulouse

Offline

#5 Re: Passage en https

(05-11-2020 17:02:23)


Oui, les assets ne sont pas en dur, ils sont générés par la boutique

Offline

#6 Re: Passage en https

(06-11-2020 07:38:31)


Tu utilisr un cache genre Varnish, ou un reverse proxy ?


OpenStudio Toulouse

Offline

#7 Re: Passage en https

(06-11-2020 10:10:58)


Non, j'avais déposé la boutique sur son hébergement avec un FTP, puis j'avais customisé les fichiers css, j'avais également créé un thème, en gardant l'assignation dynamique des assets.

Nous n’utilisons pas de cache en plus de celui de Thélia ni de proxy.

Pourrais tu m'indiquer dans quel fichier je pourrais trouver le code qui fourni les données à la boucle des assets, pour que je vois s'il n'y a pas moyen de forcer le https à ce niveau ?

Offline

#8 Re: Passage en https

(06-11-2020 12:20:21)


Le code qui fabrique les URLs est dans core/lib/Thelia/Tools/URL.php, et particulier dans la méthode getBaseUrl().


OpenStudio Toulouse

Offline

#9 Re: Passage en https

(06-11-2020 17:04:27)


Merci pour ces informations, du coup le problème vient du fait que dans la méthode getBaseUrl(), l'appel à $this->requestContext->getScheme() renvoi systématiquement http, même lorsque le site est en https.

Du coup, si je force la variable $scheme avec la valeur https dans cette méthode, les adresse des assets sont correctement générés.

J'aimerais bien savoir à quel endroit est renseigné ou assigné la propriété $scheme pour vérifier à cet endroit pourquoi elle est toujours assigné avec http même lorsque j'appelle le site en https, pourrais tu me l'indiquer ?

Offline

#10 Re: Passage en https

(07-11-2020 14:48:04)


l'appel à $this->requestContext->getScheme() renvoi systématiquement http

Pour moi, c'est une configuration spécifique de ton hébergement et/ou de ton serveur web, qui fait que le site est effectivement accédé en http (d'ou l'idée du proxy).


OpenStudio Toulouse

Offline

#11 Re: Passage en https

(13-11-2020 12:29:55)


Après avoir fait des tests, je me suis rendu compte que le problème vient du serveur qui masquait la variable $_SERVER["HTTPS"]

La boutique doit se baser sur cette variable pour déterminer si elle est appelée en https ou pas, et une fois qu'on l'active au niveau des paramètre de l'hébergement, la boutique fonctionne parfaitement en https

Merci pour ton aide Roadster31 ;-)