Passer un site SPIP sous https:// - commentairesPasser un site SPIP sous https://2023-07-01T03:47:04Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment5136772023-07-01T03:47:04Z<p>Je trouve dommage que de telles «<small class="fine d-inline"> </small>bidouilles<small class="fine d-inline"> </small>» soient nécessaires pour passer un site ancien utilisant le CSM Spip de HTTP à HTTP. C'est une vraie galère d'opérer cette transition, notamment chez IONOS, et je ne m'en sors pas<small class="fine d-inline"> </small>!</p>Passer un site SPIP sous https://2022-05-23T12:06:52Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment5110022022-05-23T12:06:52Z<p>Sur les serveurs sous AlternC (ex. marsnet)</p>
<p>Voici la ligne à ajouter à .htaccess</p>
<div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]</code></pre></div>Passer un site SPIP sous https://2022-01-26T14:58:34Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment5100682022-01-26T14:58:34Z<p>Merci, essentiel :)</p>Passer un site SPIP sous https://2019-11-19T15:01:33Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment5031152019-11-19T15:01:33Z<p>Sur certains serveurs avec Nginx</p>
<div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code>RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{SERVER_NAME}/$1 [R,L]</code></pre></div>
<p><strong>traduction</strong> de <a href="https://blog.runcloud.io/redirect-https-using-htaccess-behind-nginx-proxy/" class="spip_url spip_out auto" rel="nofollow external">https://blog.runcloud.io/redirect-https-using-htaccess-behind-nginx-proxy/</a><br class="autobr">
La première ligne indique à Apache d'activer le moteur de réécriture. La seconde ligne indique à Apache d'exécuter la troisième ligne si X-Forwarded-Proto n'est pas https. Et la troisième ligne consiste simplement à dire à Apache de réécrire chaque requête HTTP en HTTPS. Les drapeaux R et L signalent à Apache de réécrire l'URL et d'arrêter la réécriture si l'URL correspond.</p>
<p>Pourquoi utiliser<small class="fine d-inline"> </small>%<i>HTTP:X-Forwarded-Proto</i> au lieu de<small class="fine d-inline"> </small>%<i>HTTPS</i><small class="fine d-inline"> </small>? Lorsque Apache est derrière Nginx et ne sait pas que le site utilise le protocole https. Ainsi, Nginx devra envoyer l'en-tête X-Forwarded-Proto pour connaître le protocole utilisé. X-Forwarded-Proto n'aura que deux valeurs, http ou https.</p>Passer un site SPIP sous https://2018-12-19T17:59:36Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4991722018-12-19T17:59:36Z<p>Bonsoir,<br class="autobr"> Je suis un peu perplexe quand j'essaye d' « <strong>Installer et configurer un certificat Let's Encrypt</strong> » à l'Etape 1 ci-dessus. La doc de Debian mentionne, dans le cas Apache 2.4 (je cite) :</p>
<div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code> # /etc/apache2/conf-available/letsencrypt.conf
Alias /.well-known/acme-challenge /etc/letsencrypt/.acme-challenges <Directory /etc/letsencrypt/.acme-challenges> Options None AllowOverride None Require all granted
</Directory></code></pre></div>
<p> Est-ce que cela signifie qu'il faut créer le fichier <strong>letscencrypt.conf</strong> avec le contenu indiqué, svp<small class="fine d-inline"> </small>? C'est un peu obscur...<br class="autobr"> Merci d'avance, Cdt, G.G.</p>Passer un site SPIP sous https://2018-11-29T18:46:51Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4989142018-11-29T18:46:51Z<p>La redirection htaccess doit être mis à la fin du fichier, sinon cela peut interferer avec les urls propres.</p>
<p>J'ai corrigé.</p>Passer un site SPIP sous https://2018-08-27T20:30:08Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4980042018-08-27T20:30:08Z<p>Bonjour,</p>
<p>J'ai installé un certificat let's encrypt sur mon site<br class="manualbr">j'ai essayé les différentes options sur mon site<br class="manualbr">Mais dès que je passe dans l'Espace privé impossible d'y effectuer quelques opérations que ce soit. <br class="manualbr">Automatiquement le port 80 est ajouté dans l'adresse (<a href="https://bcc.geckco.ch:80/ecrire/" class="spip_url spip_out auto" rel="nofollow external">https://bcc.geckco.ch:80/ecrire/</a>)<br class="manualbr">Et l'erreur suivante s'affiche sous Chrome et sous Firefox :</p>
<p>Échec de la connexion sécurisée</p>
<p>Une erreur est survenue pendant une connexion à bcc.geckco.ch:80. SSL a reçu un enregistrement qui dépasse la longueur maximale autorisée. Code d'erreur : SSL_ERROR_RX_RECORD_TOO_LONG</p>
<p>Avez-vous une idée pour solutionner ce problème<br class="manualbr">D'avance un grand merci<br class="manualbr">Gecko62</p>Passer un site SPIP sous https://2018-08-18T03:45:34Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4979172018-08-18T03:45:34Z<p>Merci, effectivement je ne savais pas trop si le problème venait du https ou pas. J'ai finalement ajouté une ligne css pour rendre tous mes liens en vert et supprimé le plugin liens explicites. Je vais passer les liens en relatif. Merci pour ton aide.</p>Passer un site SPIP sous https://2018-08-17T07:21:46Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4979072018-08-17T07:21:46Z<p>Il faudrait plutot que tu indiques tes liens en relatif<br class="autobr">
<code class="spip_code spip_code_inline" dir="ltr"><a href="#URL_ARTICLE">....</code></p>
<p>Ensuite, si tu as encore un problème, poste ton message sur le forum du plugin <strong>liens explicites</strong>. Ta question n'as pas vraiment à voir avec le passage en https</p>Passer un site SPIP sous https://2018-08-17T00:47:40Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4979062018-08-17T00:47:40Z<p>Bonjour,</p>
<p>avec le passage au https, le plugin lien explicite ne détecte plus mes liens internes dans les inclusions comme des liens internes mais comme des liens externes et ajoute donc le petit cadenas à droite, ce qui change toute ma mise en page.</p>
<p>J'ai bien indiqué https dans la description du site et mes liens internes sont appelés ainsi :</p>
<p>a href=«<small class="fine d-inline"> </small>#URL_SITE_SPIP/#URL_ARTICLE<small class="fine d-inline"> </small>»</p>
<p>Une idée d'où cette erreur peut venir<small class="fine d-inline"> </small>?</p>
<p>merci par avance</p>Passer un site SPIP sous https://2018-07-18T07:07:10Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4977602018-07-18T07:07:10Z<p>Magnifique , j'ai passé la version 3.1 : cela fonctionne du premier coup<small class="fine d-inline"> </small>! merci beaucoup Maïeul.</p>Passer un site SPIP sous https://2018-07-17T16:24:10Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4977572018-07-17T16:24:10Z<p>je sais.</p>
<p>Ton serveur utilise la version 1.2 de TLS.<br class="autobr">
les version officielles de SPIP ne sont pas capable de faire une rquette externe en TLS 1.2</p>
<p>il faudrait que tu surcharche le fichier ecrire/inc/distant.php par la nouvelle version (qui sortira dans la prochaine versio ndeSPIP)</p>
<p><a href="https://core.spip.net/projects/spip/repository/revisions/24020/entry/branches/spip-3.1/ecrire/inc/distant.php" class="spip_url spip_out auto" rel="nofollow external">https://core.spip.net/projects/spip/repository/revisions/24020/entry/branches/spip-3.1/ecrire/inc/distant.php</a> (spip 3.1)</p>
<p><a href="https://core.spip.net/projects/spip/repository/revisions/24020/entry/branches/spip-3.0/ecrire/inc/distant.php" class="spip_url spip_out auto" rel="nofollow external">https://core.spip.net/projects/spip/repository/revisions/24020/entry/branches/spip-3.0/ecrire/inc/distant.php</a> (spip 3.0</p>
<p><a href="https://core.spip.net/projects/spip/repository/revisions/24020/entry/branches/spip-3.2/ecrire/inc/distant.php" class="spip_url spip_out auto" rel="nofollow external">https://core.spip.net/projects/spip/repository/revisions/24020/entry/branches/spip-3.2/ecrire/inc/distant.php</a> (spip 3.2)</p>Passer un site SPIP sous https://2018-07-17T16:15:52Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4977562018-07-17T16:15:52Z<p>en l'absence de log, je ne peux pas te dire plus.</p>
<p>Il faudrait faire ceci<br class="autobr">
1. Tenter une actualisation de la recherche du flux<br class="autobr">
2. M'envoyer immédiatement en pivé les logs SPIP et apache, en m'indiquant l'heure à laquelle tu as essayé de faire cela.</p>Passer un site SPIP sous https://2018-07-17T16:11:59Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4977552018-07-17T16:11:59Z<p>merci bien de cette indication Maïeul.<br class="autobr">
Oui les deux sites sont sur le même serveur<small class="fine d-inline"> </small>! Avant, sans https, cela marchait la syndication entre les deux, c'est donc un problème ailleurs. mais où ...?</p>Passer un site SPIP sous https://2018-07-17T16:08:10Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4977542018-07-17T16:08:10Z<p>bizarre, chez moi cela fonctionne parfaitement (depuis un SPIP), que ce soit le https et le http.</p>
<p>A mon avis ton problème n'est pas lié à https, mais à autre chose.</p>
<p>Est-ce que les sites sont sur le même serveur<small class="fine d-inline"> </small>?Parfois il y a des bugs lorsqu'on essaie de faire une requette depuis le même serveur.</p>
<p>Après il n'y a guère que les logs qui permettront d'en savoir plus.</p>Passer un site SPIP sous https://2018-07-17T16:02:58Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4977532018-07-17T16:02:58Z<p>Bonjour, <br class="autobr">
en fait ce qui n'est pas résolu, c'est le fait de le syndiquer dans un autre site Spip (en https aussi).<br class="autobr">
Moi je n'arrive pas à syndiquer <a href="http://www.yanfouom.net/spip.php?page=backend" class="spip_url spip_out auto" rel="nofollow external">http://www.yanfouom.net/spip.php?page=backend</a> ou <a href="https://www.yanfouom.net/spip.php?page=backend" class="spip_url spip_out auto" rel="nofollow external">https://www.yanfouom.net/spip.php?page=backend</a> dans un autre site.<br class="autobr">
(pourtant sur ce même autre site, je syndique d'autres sites)<br class="autobr">
merci de votre avis après tests</p>Passer un site SPIP sous https://2018-03-08T14:54:02Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4961902018-03-08T14:54:02Z<p>Chez cet hébergeur si on active le CDN via SPIP (d'un clic c'est top<small class="fine d-inline"> </small>!) il faut aussi que le sous domaine cdn.exemple.tld ait un certificat SSL</p>Passer un site SPIP sous https://2018-03-08T14:47:26Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4961892018-03-08T14:47:26Z<p>Chez OVH il est indiqué</p>
<div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.votredomaine.fr/$1 [R,L]</code></pre></div>
<p><a href="https://docs.ovh.com/fr/hosting/htaccess-reecriture-url-mod-rewrite/" class="spip_url spip_out auto" rel="nofollow external">https://docs.ovh.com/fr/hosting/htaccess-reecriture-url-mod-rewrite/</a></p>Passer un site SPIP sous https://2018-02-13T20:21:37Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4958722018-02-13T20:21:37Z<p>En ajoutant ces deux lignes, cela fonctionne. Merci beaucoup.</p>Passer un site SPIP sous https://2018-02-13T19:14:10Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4958712018-02-13T19:14:10Z<p>Bonjour, essayez la solution donnée par toto21, à savoir de mettre les deux lignes suivantes dans le fichier /config/mes_options.php :</p>
<div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>$_SERVER['HTTPS'] = "on";
$_SERVER['SERVER_PORT']='443';</code></pre></div>
<p>Chez moi ça a réglé le problème.</p>Passer un site SPIP sous https://2018-02-13T19:10:23Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4958702018-02-13T19:10:23Z<p>Sur certains serveurs (c'est mon cas), la variable Apache<small class="fine d-inline"> </small>%<i>HTTPS</i> renvoie toujours off, même en mode HTTPS, et la variable<small class="fine d-inline"> </small>%<i>HTTP:X-Forwarded-Proto</i> renvoie toujours une chaîne vide. Il ne sert alors absolument à rien de mettre ces RewriteCond / RewriteRule dans le .htaccess...</p>
<p>En revanche, le fait de mettre les deux lignes suivantes dans le fichier /config/mes_options.php suffit, en soi, à régler tous les problèmes :</p>
<div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>$_SERVER['HTTPS'] = "on";
$_SERVER['SERVER_PORT']='443';</code></pre></div>
<p>Merci à toto21 pour cette suggestion.</p>Passer un site SPIP sous https://2018-02-07T15:25:58Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4957742018-02-07T15:25:58Z<p>Voici la pièce jointe</p>Passer un site SPIP sous https://2018-02-07T15:23:37Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4957732018-02-07T15:23:37Z<p>Voici la pièce jointe.</p>Passer un site SPIP sous https://2018-02-07T15:06:47Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4957712018-02-07T15:06:47Z<p>Bonjour,</p>
<p>Suite au passage d'un SPIP 3.0.26 en https, lorsque je souhaite ajouter une image à un article, j'ai le message Forbidden (cf capture).<br class="autobr">
Le site marche très bien en http.<br class="autobr">
Les versions du serveur sont :
<br>- Apache/2.2.22
<br>- PHP 5.6.30
<br>- Mysql 5.5.59</p>
<p>J'ai suivi les recommandations de toto21 et conil26, mais sans succès.<br class="autobr">
Il s'agit d'un site avec le plugin EVA-WEB 4.2<br class="autobr">
Nous avons déjà réalisé le même passage vers https avec un autre site SPIP 3.0.26 mais avec le plugin Sarka-SPIP 3.2.36 sur un autre serveur.<br class="autobr">
Les 2 serveurs ont la même configuration et nous ne rencontrons pas ce problème.</p>
<p>Les droits sur les dossiers et fichiers sont les mêmes sur les 2 sites.</p>
<p>Merci de votre aide.</p>Passer un site SPIP sous https://2018-01-09T09:18:19Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4952532018-01-09T09:18:19Z<p>Merci Maïeul</p>
<p>ce doit être FF (Quantum 57.0.03) alors, car il marche 1 fois après que tu n'y sois pas allé depuis longtemps et pas après « actualiser »...</p>
<p>J'ai testé avec Thunderbird, cela marche bien.</p>
<p>mais depuis un autre site Spip, si je l'abonne j'ai l'erreur :</p>
<p>Ce site est syndiqué…<br class="autobr">
Attention : la syndication de ce site a rencontré un problème<small class="fine d-inline"> </small>; le système est donc temporairement interrompu. Vérifiez l'adresse du fichier de syndication de ce site (<a href="https://www.yanfouom.net/spip.php?page=backend" class="spip_url spip_out auto" rel="nofollow external">https://www.yanfouom.net/spip.php?page=backend</a>), et tentez une nouvelle récupération des informations</p>
<p>cela fait 2 outils sur 3 qui ne l'acceptent pas, beaucoup tout de même. Je dois avoir quand même une erreur.</p>Passer un site SPIP sous https://2018-01-09T08:23:09Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4952522018-01-09T08:23:09Z<p>Chez moi ce flux rss fonctionne parfaitement est est bien interprété par mon lecteur.</p>Passer un site SPIP sous https://2018-01-08T11:42:45Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4952482018-01-08T11:42:45Z<p>merci , c'est <a href="https://www.yanfouom.net/spip.php?page=backend" class="spip_url spip_out auto" rel="nofollow external">https://www.yanfouom.net/spip.php?page=backend</a></p>
<p>au passage j'ai eu une autre réponse avec <a href="https://www.yanfouom.net/spip.php?page=backend" class="spip_url spip_out auto" rel="nofollow external">https://www.yanfouom.net/spip.php?page=backend</a> & var_mode=debug : une indication que dans squelettes-dist/formulaires/administration.html serait le soucis, je ne sais d'où il vient celui-là par contre</p>Passer un site SPIP sous https://2018-01-08T11:29:38Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4952472018-01-08T11:29:38Z<p>Le mieux serait de moins d'envoyer le lien.</p>Passer un site SPIP sous https://2018-01-08T11:21:11Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4952462018-01-08T11:21:11Z<p>Bonjour, <br class="autobr">
effectivement il n'y a que mon site qui a ce soucis, mais j'ai d'autres indices qui vont peut-être faire avancer la recherche de solution pour le backend en https:<br class="autobr">
(- sans redirection https, en http, le rss marche.)
<br>- quand j'ai le message d'erreur de Firefox ci-dessus, j'ai son « verrou vert »,
<br>- immédiatement après une purge de cache, tout va bien : le flux s'affiche et alors, comme pour <a href="https://contrib.spip.net/spip.php?page=backend" class="spip_url spip_out auto" rel="nofollow external">https://contrib.spip.net/spip.php?page=backend</a> , je n'ai pas de verrou vert mais un « i » entouré à la place, par contre si j'actualise la page, cela revient bien avec le verrou vert et l'erreur ci-dessus et cela reste toujours en erreur si je réactualise encore la page, <br>- si je demande avec /spip.php<small class="fine d-inline"> </small>?page=backend& var_mode=debug, j'ai une fois sur 3 environ en actualisant la page un bon affichage.<br class="autobr">
Qu'en pensez-vous<small class="fine d-inline"> </small>?</p>Passer un site SPIP sous https://2018-01-07T19:23:22Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4952372018-01-07T19:23:22Z<p>Cela doit être un problème spécifique à ton site, parce que chez moi sur mon site (et sur d'autres) cela fonctionne sans problème.</p>Passer un site SPIP sous https://2018-01-07T18:50:05Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4952342018-01-07T18:50:05Z<p>Bonsoir Maïeul, <br class="autobr">
pas tout à fait car en http, Firefox le lit bien ce flux et quand tu syndiques ce site depuis un autre site (spip aussi) et bien cela refuse de syndiquer ... le flux a donc bien un problème mais où . avez -vous fait un test<small class="fine d-inline"> </small>? c'est facile..</p>Passer un site SPIP sous https://2018-01-07T13:19:51Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4952302018-01-07T13:19:51Z<p>Bah c'est juste que Firefox ne sait pas lire le flux rss et du coup affiche la source brut, mais un lecteur de flux lui le lira sans souci.</p>Passer un site SPIP sous https://2018-01-07T11:42:24Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4952262018-01-07T11:42:24Z<p>cela a été coupé : voici la suite :</p>
<div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code><rss version="2.0"><channel xml:lang="fr"><title></code></pre></div>
<p>N'y aurait-il pas une exception pour cette page à ajouter dans la redirection du .htaccess<small class="fine d-inline"> </small>? Quel en serait son expression SVP<small class="fine d-inline"> </small>? <br class="autobr">
Merci d'avance</p>Passer un site SPIP sous https://2018-01-07T11:39:58Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4952252018-01-07T11:39:58Z<p>bonjour, <br class="autobr">
très utile ce mode d'emploi<small class="fine d-inline"> </small>! merci.<br class="autobr">
Cela marche très bien, SAUF pour les flux RSS (je ne sais pas d'ailleurs si ce flux « supporte » le https) .</p>
<p>Par ex dans le plugin et squelette Zcore, vous avez en pied de page (footer) un flux RSS appelé par la page /spip.php<small class="fine d-inline"> </small>?page=backend qui marche très bien en http.<br class="autobr">
Si on applique la méthode ci-dessus, on a en HTTPS un message d'erreur de Firefox (on est dans toutes les versions les plus récentes de tout) : « Aucune information de style ne semble associée à ce fichier XML. L'arbre du document est affiché ci-dessous. » avec un XML affiché qui commence par « <code class="spip_code spip_code_inline" dir="ltr"><rss version="2.0"><channel xml:lang="fr"><title></code> » .</p>
<p>Dans la redirection du .htaccess, il n'y aurait pas une exception à ajouter pour cette page SVP<small class="fine d-inline"> </small>? Si oui avez-vous une idée de son expression<small class="fine d-inline"> </small>? merci d'avance</p>Passer un site SPIP sous https://2017-12-11T17:16:08Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4948722017-12-11T17:16:08Z<p>Bonjour,<br class="autobr">
[Version de SPIP : 3.0.X]<br class="autobr">
En effet certains serveurs ne fournissent entre une connexion <i>http / https</i> qu'une seule variable serveur pour indiquer le protocole <i>https</i> :</p>
<div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code>$_SERVER['HTTP_X_FORWARDED_PROTO'] = 'https'</code></pre></div>
<p>Configuration faible du serveur<small class="fine d-inline"> </small>? Celui sur lequel je dois travailler maintient même la valeur <var>$_SERVER['SERVER_PORT']</var> sur 80 même lors de l'appel d'une page en https!</p>
<p>Du coup pour résoudre le problème j'ai du artificiellement positionner la variable <var>$_SERVER['SCRIPT_URI']</var> à la valeur 'https://' (il semble que <var>$_SERVER['HTTPS'] </var> sur <var>on</var>, soit équivalent et plus élégant<small class="fine d-inline"> </small>;) - j'ai par sécurité mis les deux) - cependant cela ne suffit pas, les appels <i>ajax </i> ne s'y retrouvent pas (par exemple sur la page pour vider le cache), sans placer <var>$_SERVER['SERVER_PORT']</var> sur le port https 443.<br class="autobr">
Donc voici ce que j'ai du ajouter dans le fichier <i>../config/mes_options.php</i> :</p>
<div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code>$_SERVER['SCRIPT_URI'] = 'https://';
$_SERVER['HTTPS'] = "on";
$_SERVER['SERVER_PORT']='443';</code></pre></div>
<p>Dans ce contexte voir la solution de conil26 ci-dessous pour forcer la redirection https.<br class="autobr">
Encore merci à pa.georges pour m'avoir mis sur la bonne piste.</p>Passer un site SPIP sous https://2017-12-09T15:34:13Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4948452017-12-09T15:34:13Z<p>Oui, l'adresse du site dans configuration comment par https:// et le cache a été vidé.</p>Passer un site SPIP sous https://2017-12-09T14:55:30Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4948442017-12-09T14:55:30Z<p>As tu changé l'adresse du site dans le menu configuration avec le https// et vidé ton cache<small class="fine d-inline"> </small>?</p>Passer un site SPIP sous https://2017-12-09T12:56:03Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4948392017-12-09T12:56:03Z<p>Bug espace privé suite au passage à HTTPS</p>
<p>Depuis le passage de notre site en HTTPS, avec redirection HTTP->HTTPS + HSTS au niveau serveur, l'espace privé est inutilisable à moins de désactiver Javascript.</p>
<p>Je remarque dans le code source que de nombreuses adresses sont restées en HTTP, notamment celle issue de la ligne 11 de /prive/squelettes/inclure/head.html :</p>
<div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>function test_accepte_ajax(){jQuery.ajax({"url":"[(#URL_ECRIRE{test_ajax,js=1}|replace{'&','\x26'})]"});}</code></pre></div>
<p>qui devient dans le code source</p>
<div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>function test_accepte_ajax(){jQuery.ajax({"url":"http://monsite.com/ecrire/?exec=test_ajax\x26js=1"});}</code></pre></div>
<p>au lieu de</p>
<div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>function test_accepte_ajax(){jQuery.ajax({"url":"https://monsite.com/ecrire/?exec=test_ajax\x26js=1"});}</code></pre></div>
<p>De même que tous les appels de CSS qui commencent par HTTP au lieu de HTTPS.</p>
<p>Du coup, tout ce qui a recours à AJAX ne fonctionne pas.</p>
<p>On dirait que #URL_ECRIRE continue à utiliser l'URL http et non pas https.</p>
<p>L'espace privé est utilisable sans le javascript, mais cela pose quelques problèmes quand il faut valider plusieurs posts de forums en même temps.</p>
<p>Sinon aucun problème dans l'espace public, mais je n'utilise pas la balise #INSERT_HEAD</p>
<p>Quelques infos :</p>
<p>Version SPIP : 3.2<br class="autobr">
Version PHP 5.4.45<br class="autobr">
MySQL 10.0.32-MariaDB-0</p>
<p>Bonne réception, cordialement.</p>
<p>Manuel</p>Passer un site SPIP sous https://2017-09-11T07:46:05Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4933532017-09-11T07:46:05Z<p>Bonjour pa.georges</p>
<p>J'ai exactement le même problème que toi, et ton post m'a beaucoup aidé. J'ai fait une petite page de test rapide de ces 2 variables, et effectivement, ni l'une ni l'autre ne sont positionnées. <br class="autobr">
<a href="https://www.c-nous.loc/apache.php" class="spip_url spip_out auto" rel="nofollow external">https://www.c-nous.loc/apache.php</a><br class="autobr">
Ce n'est peut-être pas si rare de voir cela.... Je vais donc suivre tes conseils et voir s'il est possible d'obtenir le positionnement de l'une des 2 variables, ou à défaut, écrire la surcharge que tu préconises ne devrait pas être trop compliqué.</p>
<p>++<br class="autobr">
Z</p>Passer un site SPIP sous https://2017-09-07T17:43:32Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4933112017-09-07T17:43:32Z<p>Bon, alors je me réponds à moi-même :<br class="autobr">
la fonction url_absolue(), définie dans le fichier ecrire/inc/filtres_mini.php, fait appel en interne à la fonction url_de_base(), définie dans le fichier ecrire/inc/utils.php, et cette dernière ne se base absolument pas sur le contenu de meta[adresse_site], comme on aurait pu s'y attendre (c'est expliqué et justifié dans les commentaires de la fonction). Au lieu de cela, elle teste si la variable $_SERVER[«<small class="fine d-inline"> </small>SCRIPT_URI<small class="fine d-inline"> </small>»] commence par « https » ou si la variable $_SERVER['HTTPS'] est présente et vaut autre chose que « Off ».</p>
<p>Or il se trouve que dans mon cas de figure, le serveur Apache de notre hébergeur web ne positionne aucune de ces deux variables, et donc la fonction url_de_base() échoue à bien détecter si l'internaute a demandé du HTTPS ou pas.</p>
<p>Solutions au problème : demander à l'hébergeur de bien vouloir rajouter l'une de ces deux variables sur la config de son serveur Apache, ou bien sinon, si on ne le peut pas, surcharger la fonction url_absolue() en créant une fonction filtre_url_absolue() dans le fichier squelettes/mes_fonctions.php, qui se contente d'appeler url_absolue() en lui renseignant « https://... » dans le deuxième paramètre de la fonction.</p>
<p>Ceci dit, apparemment je suis un des rares à avoir eu ce problème, ce qui me laisse penser que la plupart du temps, un serveur web standard publie au moins l'une ou l'autre de ces deux variables $_SERVER[«<small class="fine d-inline"> </small>SCRIPT_URI<small class="fine d-inline"> </small>»] ou $_SERVER['HTTPS'] , donc peut-être qu'il serait judicieux de patcher la fonction url_absolue() pour que, en l'absence de $_SERVER[«<small class="fine d-inline"> </small>SCRIPT_URI<small class="fine d-inline"> </small>»] et de $_SERVER['HTTPS'], elle se base sur la présence de « https » ou pas en début de meta[adresse_site], au lieu d'en déduire un peu hâtivement que par défaut c'est du « http »...</p>Passer un site SPIP sous https://2017-06-07T06:27:53Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4924562017-06-07T06:27:53Z<p>Bonjour,<br class="autobr">
Le site marche tout à fait bien en http. Je n'ai pas redirigé le http vers https.<br class="autobr">
lorsque j'essaie<br class="manualbr"><strong>https:</strong>//<a href="http://www.monsite.com/test.html" class="spip_url spip_out auto" rel="nofollow external">www.monsite.com/test.html</a> <br>- avec .htaccess (# Fichier .htaccess SPIP v 3.1)<br class="manualbr">j'obtiens une erreur 403 Forbidden (<i>Forbidden /You don't have permission to access / on this server.</i>)<br class="manualbr">sans .htaccess (renommé htaccess.txt)<br class="manualbr">j'obtiens bien le contenu du fichier test.html avec la notion<strong> sécurisé</strong> dans la barre d'adresse) <br class="autobr">
je ne sais pas quoi faire...<br class="manualbr">Merci de votre aide</p>Passer un site SPIP sous https://2017-04-07T15:40:44Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4918392017-04-07T15:40:44Z<p>Bonjour,<br class="autobr">
j'ai des squelettes *.css.html avec des règles css contenant</p>
<div class="precode"><pre class="spip_code spip_code_block language-css" dir="ltr" style="text-align:left;" data-language="css"><code>background: url(...) </code></pre></div>
<p>qui utilisent la balise #CHEMIN, et cette balise génère bien effectivement des chemins relatifs, mais ensuite dans le fichier css minifié généré lors de la mise en cache par SPIP, les url(...) sont converties en url absolues qui commencent par http:// au lieu de https://... C'est très gênant que le minifier CSS de SPIP remplace automatiquement toutes les URLs relatives par des URLs absolues, sans raison apparente. Comment désactiver cela et faire en sorte de conserver des urls relatives dans le fichier CSS minifié<small class="fine d-inline"> </small>?</p>
<p>(Pour la petite histoire, c'est le filtre |compacte qui appelle le filtre |url_absolue_css qui se charge de réécrire toutes les url(...) relatives en url(...) absolues, et je ne comprends pas en quoi ceci s'appelle un « compactage »... Pour moi c'est plutôt un décompactage, puisque l'url absolue prend plus de place que l'url relative<small class="fine d-inline"> </small>!!!)</p>Passer un site SPIP sous https://2017-03-12T22:45:58Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4914122017-03-12T22:45:58Z<p>A l'étape 4, selon les FAI, la redirection indiquée ne suffit pas :</p>
<div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]</code></pre></div>
<p>Il vaut mieux l'écrire en dur :</p>
<div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>RewriteEngine on
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule (.*) https://www.monsite.com/$1 [R=301,L]</code></pre></div>
<p>en remplaçant : <br class="autobr">
<a href="https://www.monsite.com/" class="spip_url spip_out auto" rel="nofollow external">https://www.monsite.com/</a><br class="autobr">
par l'adresse du site concerné.</p>
<p>Il faut aussi penser à ajouter dans :</p>
<div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>../config/mes_options.php $_SERVER['SERVER_PORT']='443'; $_ENV["SERVER_PORT"]='443';</code></pre></div>Passer un site SPIP sous https://2017-03-10T07:59:13Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4913872017-03-10T07:59:13Z<p>Non ce n'est pas un problème :</p>
<ul class="spip"><li> si c'est un lien externe, c'est autorisé</li><li> si c'est un lien interne ( même si c'est plus propre d'utiliser un raccourci du type <code class="spip_code spip_code_inline" dir="ltr">[voir l'article->56] </code>). Cela fonctionnera car dans le .htaccess on a la redirection vers le https.</li></ul>Passer un site SPIP sous https://2017-03-10T07:55:36Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4913862017-03-10T07:55:36Z<p>Je me pose des questions sur le contenu des articles : si le texte de ces derniers contient des liens en http du style<code class="spip_code spip_code_inline" dir="ltr">[Voir l'article->http://mondomaine.tld]</code>, est-ce un souci<small class="fine d-inline"> </small>? (parce que ce serait complètement inenvisageable de modifier tous ces liens...)</p>Passer un site SPIP sous https://2017-03-01T16:09:38Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4912622017-03-01T16:09:38Z<p>Merci erational pour cet article et merci Nicolas pour cette précision. Les deux m'ont été bien utiles</p>Passer un site SPIP sous https://2017-02-28T09:19:50Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4912442017-02-28T09:19:50Z<p>Selon la configuration du serveur — lorsqu'il tente de repasser systématiquement sur le port 80 —, on pourra aussi penser à ajouter un ceci dans <code class="spip_code spip_code_inline" dir="ltr">mes_options.php</code> :</p>
<pre>$_SERVER['SERVER_PORT']='443';</pre>Passer un site SPIP sous https://2017-02-27T08:30:15Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4912412017-02-27T08:30:15Z<p>Oui à priori, si vous passez tout le site en https://, le plugin redirhttps ne sert plus à rien.</p>Passer un site SPIP sous https://2017-02-27T08:29:55Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4912402017-02-27T08:29:55Z<p>Oui à priori, si vous passez tout le site en https://, le plugin redirhttps ne sert plus à rien.</p>Passer un site SPIP sous https://2017-02-26T16:31:14Zhttps://files.spip.org/Passer-un-site-SPIP-sous-https#comment4912372017-02-26T16:31:14Z<p>Info très utile.<br class="autobr">
Est ce que ces réglages permettent de se passer complétement du plugin redirhttps?</p>