Bonjour à toutes et à tous,
J’ai récemment fais l’acquisition d’un serveur dédié type Game en Debian 9 pour des serveurs de jeux à la base. Mais, j’ai un client qui rencontre des problèmes avec son mutualisé au vu de la structure complexe de son wordpress.
J’ai donc voulu lui installer un serveur lamp sur mon dédié dans les dossiers /home/user/… Tout est ok, le site est accessible et fonctionne parfaitement comme à l’état actuel. Mais venu le temps de le mettre en SSL, gros soucis… Après plusieurs recherches, j’ai pu activer et mettre en place le contrat (payant) SSL mais les navigateurs le considère comme non sécurisé (contrat non valide). D’après des tests, le site reçoit la note de A en sécurité.
Si je suis en http, je reste en http. De même pour le https.
Sauf si je démarre du https pour aller sur un sous-site, je bascule en http. C’est un wordpress multisite.
J’ai bon chercher, essayer des paramètres, pas moyen d’en arriver au bout. Je suis à bout !
Donc si quelqu’un sait m’aider ?
Au niveau de mes fichiers conf :
dedicated.plussensible.com.conf
>
> # The ServerName directive sets the request scheme, hostname and port that
> # the server uses to identify itself. This is used when creating
> # redirection URLs. In the context of virtual hosts, the ServerName
> # specifies what hostname must appear in the request's Host: header to
> # match this virtual host. For the default virtual host (this file) this
> # value is not decisive as it is used as a last resort host regardless.
> # However, you must set it for any further virtual host explicitly.
> ServerName dedicated . plussensible . com
> ServerAlias *. dedicated . plussensible . com
> ServerAdmin hello@plussensible.com
> DocumentRoot /home/www/wordpress
>
> Options Indexes FollowSymLinks MultiViews
> AllowOverride All
> Order allow,deny
> Allow from all
> Require all granted
> # New directive needed in Apache 2.4.3:
> Require all granted
>
> # Available loglevels: trace8, …, trace1, debug, info, notice, warn,
> # error, crit, alert, emerg.
> # It is also possible to configure the loglevel for particular
> # modules, e.g.
> #LogLevel info ssl:warn
> ErrorLog ${APACHE_LOG_DIR}/error.log
> CustomLog ${APACHE_LOG_DIR}/access.log combined
> # For most configuration files from conf-available/, which are
> # enabled or disabled at a global level, it is possible to
> # include a line for only one particular virtual host. For example the
> # following line enables the CGI configuration for this host only
> # after it has been globally disabled with "a2disconf".
> #Include conf-available/serve-cgi-bin.conf
>
dedicated.plussensible.com-ssl.conf
>
>
> # The ServerName directive sets the request scheme, hostname and port that
> # the server uses to identify itself. This is used when creating
> # redirection URLs. In the context of virtual hosts, the ServerName
> # specifies what hostname must appear in the request's Host: header to
> # match this virtual host. For the default virtual host (this file) this
> # value is not decisive as it is used as a last resort host regardless.
> # However, you must set it for any further virtual host explicitly.
> ServerName dedicated . plussensible . com
> ServerAlias *. dedicated . plussensible . com
> ServerAdmin hello@plussensible.com
> DocumentRoot /home/www/wordpress
>
> Options Indexes FollowSymLinks MultiViews
> AllowOverride All
> Order allow,deny
> Allow from all
> # New directive needed in Apache 2.4.3:
> Require all granted
>
> # Available loglevels: trace8, …, trace1, debug, info, notice, warn,
> # error, crit, alert, emerg.
> # It is also possible to configure the loglevel for particular
> # modules, e.g.
> #LogLevel info ssl:warn
> ErrorLog ${APACHE_LOG_DIR}/error.log
> CustomLog ${APACHE_LOG_DIR}/access.log combined
> # For most configuration files from conf-available/, which are
> # enabled or disabled at a global level, it is possible to
> # include a line for only one particular virtual host. For example the
> # following line enables the CGI configuration for this host only
> # after it has been globally disabled with "a2disconf".
> #Include conf-available/serve-cgi-bin.conf
> # On active le SSL
> SSLEngine On
> # On active tous les protocoles (TLS v1.0, TLS v1.1 et TLS v1.2), mais on désactive SSL v2 et v3 (obsolètes et remplacés par TLS)
> SSLProtocol All -SSLv3 -SSLv2
> # On active les méthodes de chiffrement, et on désactive les méthodes de chiffrement non sécurisés (par la présente d'un !)
> SSLCipherSuite HIGH:!aNULL:!MD5:!ADH:!RC4:!DH
> # On demande au navigateur de sélectionner une méthode de chiffrement en respectant l'ordre envoyée par le serveur (HIGH uniquement)
> SSLHonorCipherOrder on
> # On renseigne le chemin vers le certificat SSL de l'adresse à sécuriser
> SSLCertificateFile "/etc/apache2/ssl/dedicated.plussensible.com.crt"
> # On renseigne le chemin vers la clée privée correspondant au certificat SSL de l'adresse à sécuriser
> SSLCertificateKeyFile "/etc/apache2/ssl/dedicated.plussensible.com.key"
> Header always set Strict-Transport-Security "max-age=15768000"
>
>
Le site est sur le sous domaine dedicated temporairement… Histoire de faire les tests d’installation. Le vrai domaine sera bien sûr le domaine principal.
Au plaisir de vous relire,
Loïc
> des problèmes avec son mutualisé au vu de la structure complexe de son wordpress.<br /><br />Wordpress complexe...<br /><br />le WP de plussensible.com est entre autre non intègre <br />et gros problème dans le référencement<br /><br />> mettre en place le contrat (payant) SSL<br /><br />pourquoi un DV payant?<br /><br /><br />> mais les navigateurs le considère comme non sécurisé<br /><br />normal:<br />```text<br /> nmap -p 443 --script ssl-cert dedicated.plussensible.com<br />Subject: plussensible.com<br />Issuer: Sectigo RSA Domain Validation Secure Server CA<br />start: 2020-05-19T00:00:00<br />end: 2021-05-20T23:59:59<br />Subject Alternative Name:<br /> plussensible.com<br /> www.plussensible.com<br />```<br />(le sous-domaine n'est pas pas déclaré dans le certificat)<br /><br />> Si je suis en http, je reste en http<br /><br />mauvaise redirection dans ton wordpress:<br />```text<br />curl --head -XGET --user-agent Firefox http://dedicated.plussensible.com/<br /> HTTP/1.1 302 Found<br /> Location: http://www.dedicated.plussensible.com/ (charset=UTF-8)<br /><br />curl --head -XGET --user-agent Firefox https://dedicated.plussensible.com/<br /> curl: (60) SSL certificate problem: unable to get local issuer certificate<br /><br />curl --head -XGET --user-agent Firefox http://www.dedicated.plussensible.com/<br /> HTTP/1.1 200 OK<br />```<br />ton wordpress redirige sur un 2e niveau de sous-domaine alors que c'est le domaine root référencé
Wordpress complexe...
le WP de plussensible.com est entre autre non intègre
et gros problème dans le référencement
C'est un multisite wordpress bourré de fonctionnalités différentes. On rencontre lenteurs et autres, ce que l'on ne ressent pas sur le dédié.
La plateforme n'est pas terminée donc pas besoin de parler de référencement.
pourquoi un DV payant?
Le client est roi ? Allez lui demander... Je ne fais que suivre les indications!
Le letscrypt gratuit renvoyait le même statut sur les navigateurs...
mauvaise redirection dans ton wordpress:
Les redirections du htaccess sont fournies par le multisite wordpress lors de la création du réseau. Le problème serait situé sur le htaccess du coup ?
Pour les contrats ssl, même un gratuit n'est pas considéré comme valide par les navigateurs.
> pas besoin de parler de référencement.
avant de dire pas besoin, regarder l'état actuel… il y a déjà des dégâts à réparer
>Les redirections du htaccess sont fournies par le multisite wordpress lors de la création du réseau
voir ci-dessus, mauvaise config
> même un gratuit n'est pas considéré comme valide par les navigateurs
voir ci-dessus, le domaine n'est pas déclaré
avant de dire pas besoin, regarder l'état actuel... il y a déjà des dégâts à réparer
Ce n'est malheureusement pas la priorité. Rien n'est encore terminé, il doit y avoir d'autres ajouts.
voir ci-dessus, mauvaise config
Je me doute qu'il y a un soucis de config. Mais lequel ? J'ai bon lire les documentations etc... J'ai suivi à la lettre les recommandations.
voir ci-dessus, le domaine n'est pas déclaré
Déclaré où ?
> Rien n'est encore terminé, il doit y avoir d'autres ajouts.
je ne parle pas d'ajouts mais de dégats, un futur handicap
et encore une fois, le WP n'est pas intègre si tu as copié, danger ![]()
> soucis de config. Mais lequel
ta base est mal corrigée, 2 niveaux de sous-domaine c'est curieux, mais il faut aussi que les urls soient en https
comment as tu corrigé les urls?
à quoi sert ce site? pourquoi corriger la base alors que ça ne sera pas une prod, tu parles de migration?
(le /home sera aussi à corriger)
> Déclaré où ?
montré: dans le certificat DV payant inutile
ta base est mal corrigée, 2 niveaux de sous-domaine c'est curieux, mais il faut aussi que les urls soient en https
C'est un multisite wordpress, pas un wordpress unique.
ça ne change rien aux remarques, je sais que c'est un réseau de wordpress
Comprends plus rien…
Bonjour,
résumé de votre situation :
Le certificat payant de votre client couvre uniquement "www.plussensible.com" et "plussensible.com".
Donc impossible de l'utiliser pour "dedicated.plussensible.com" et/ou "www.dedicated.plussensible.com"
Et en prime la chaine du certificat est pas complète niveau serveur (voir : https://www.ssllabs.com/ssltest/analyze.html?d=dedicated.plussensible.com)
Cordialement, janus57
Bonjour,
Oui ok mais le site est en https avec un "redirect" mais du coup, les 2 sous-sites renvoient vers le site principal.
> le site est en https avec un "redirect"<br /><br />ça veut dire quoi?<br /><br />> les 2 sous-sites renvoient vers le site principal.<br /><br />non:<br />```text<br />curl --head -XGET --user-agent Firefox http://dedicated.plussensible.com/<br /> HTTP/1.1 200 OK<br /><br />curl --head -XGET --user-agent Firefox http://www.dedicated.plussensible.com/<br /> HTTP/1.1 200 OK<br />```<br />ça aussi c'est un comportement anormal de WP<br /><br />Wordpress demande une méthodologie pour le déplacer<br />le worpdress initial n'est pas correct<br />tu ne réponds pas aux questions<br /><br />il te reste à lire: https://codex.wordpress.org/
J'ai effectué quelques modifications + ajouté un contrat ssl lets encrypt.
Au niveau des urls tout à l'air ok mais le site n'est pas sécurisé pour les navigateurs.
Pour déplacer wordpress, on utilise Duplicator Pro, connu apparemment et fonctionnel.
```text<br /> curl --head -XGET --user-agent Firefox https://www.dedicated.plussensible.com/<br /> curl: (60) SSL: no alternative certificate subject name matches target host name 'www.dedicated.plussensible.com'<br />```<br />toujours pas de certificat donc<br />mais pourquoi rediriger sur www?<br />```text<br />curl --head -XGET --user-agent Firefox http://dedicated.plussensible.com/<br /> HTTP/1.1 302 Found<br /> Location: https://dedicated.plussensible.com/ (charset=iso-8859-1)<br />```<br />302, c'est pour le débug j'espère<br /><br />> on utilise Duplicator Pro<br /><br />c'est bien pour un amateur, mais je t'ai signalé X fois que le WP de base n'était pas intègre
Je n'ai pas redirigé vers www
Je comprends pas…
Le wp de base est utilisé par plusieurs personnes notamment pour les plugins utilisés…
> Je n'ai pas redirigé vers www
si dans le .htaccess ou le vhost, en 302 bien pour le debug, mais mal pour le SEO
auparavant comme montré c'est WP qui répondait
> Le wp de base est utilisé par plusieurs personnes
?..
ça n'explique pas pourquoi le core de WP n'est pas complet
Tout a été transféré avec duplicator (choix du client…)
Du coup, je vois pas ce qui manquerait dans le core de wp !
> choix du client…)
ce n'est pas au client de dire à un professionnel comment administrer un WP… !
> Du coup, je vois pas ce qui manquerait dans le core de wp !
du coup tu as copié des défauts
pour le reste, toi seul a accès aux fichiers pour vérifier
wp-cli est ton ami, par exemple
```text
wp doctor check core-verify-checksums
wp core download --locale=fr_FR --force
```
ce n'est pas au client de dire à un professionnel comment administrer un WP... !
Je m'amuse plus à parler à un mur. Sans oublier toutes les personnes qui ont accédé au ftp et site...
Pour le htaccess, j'ai ça :
> # BEGIN WordPress
> # The directives (lines) between "BEGIN WordPress" and "END WordPress" are
> # dynamically generated, and should only be modified via WordPress filters.
> # Any changes to the directives between these markers will be overwritten.
>
> RewriteEngine On
> RewriteRule ^.*-(\d+)/$ setting/index\.php?id=$1&%{QUERY_STRING} [L]
> RewriteRule ^o-\d+-(.*)/$ setting/index\.php?cat=$1&%{QUERY_STRING} [L]
> RewriteRule ^.*(site[a-z]+index\.xml)$ indexing/$1 [L]
> RewriteRule ^.*(sitemap\.xml)$ indexing/$1 [L]
> RewriteBase /
> RewriteRule ^index\.php$ - [L]
> # add a trailing slash to /wp-admin
> RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
> RewriteCond %{REQUEST_FILENAME} -f [OR]
> RewriteCond %{REQUEST_FILENAME} -d
> RewriteRule ^ - [L]
> RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
> RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
> RewriteRule . index.php [L]
>
> # END WordPress
tu imagines faire l'effort de baliser le code?
rien ne te choque?
j'en arrête là, c'est ton client, c'est à toi d'investiguer