Merci à Mygale1978 du forum http://www.developpez.net/forums/ pour son aide.
Si votre WordPress avec un serveur Nginx est autohébergé, ou si votre adresse IP publique est fixe, et que vous êtes le seul à avoir besoin de l’interface d’administration et donc aussi de la page de connexion, voilà une solution :
Ordonnez à votre serveur de seulement vous autoriser à accéder à l’interface d’administration et à la page de connexion.
Pour ce faire, rien de plus simple : copier le code ci-dessous dans la partie server de votre fichier nginx.conf. Il se trouve généralement dans /etc/nginx/.
Pour que ça fonctionne, vous devez l’adapter à votre configuration :
Aux lignes « root /srv/http; » veuillez indiquer l’emplacement local root de votre site.
Aux lignes « allow 127.0.0.1; » veuillez indiquer l’adresse IP de l’ordinateur que vous voulez utiliser pour vous connecter à votre site.
Si vous ne connaissez pas l’adresse IP, allez sur votre site et regardez l’adresse IP qui correspond dans le fichier access.log du serveur de votre site.
location ^~ /wp-admin {
root /srv/http;
allow 127.0.0.1;
deny all;
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
location = /wp-login.php {
root /srv/http;
allow 127.0.0.1;
deny all;
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
Voilà, c’est tout. Ah oui, pensez à redémarrer votre serveur Nginx.
Certaines extensions de contenues (par exemple les évaluations par étoiles) ne fonctionnerons plus pour les visiteurs. C’est dû au fait que /wp-admin/admin-ajax.php n’est plus accessible.
Pour rendre accessible /wp-admin/admin-ajax.php, rajouter le code suivant :
location = /wp-admin/admin-ajax.php {
root /srv/http;
allow all;
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
Illustration : Automattic