J'ai récemment créé un serveur nginx sur debian 8. Il est venu avec une configuration par défaut sur /etc/nginx/sites-available/default qui redirige vers une page de bienvenue nginx.
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name your_server_ip;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
J'avais ajouté une nouvelle page de production, disons 'exemple.com' avec ssl dessus.
Dans la configuration pour ../exemple.com, elle n'est pas définie comme serveur par défaut.
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
return 301 https://$server_name$request_uri;
}
server {
# Configuration SSL
listen 443 ssl;
listen [::]:443 ssl;
include snippets/ssl-example.com.conf;
include snippets/ssl-params.conf;
....
Maintenant lorsque j'ai testé la sécurité SSL sur https://www.ssllabs.com/ssltest/analyze.html?d=example.com, j'ai obtenu un A+. Mais il avait commenté 'Configuration de serveur incohérente'.
Et lorsque je charge l'adresse IP, disons x.x.x.x sur le navigateur en tant que https:// x.x.x.x, il charge la même page que https://example.com mais sans ssl (barre d'adresse verte). Si je charge http:// x.x.x.x, il charge la page de bienvenue nginx par défaut.
J'ai essayé de définir la configuration par défaut (pour l'adresse IP) pour obtenir un message interdit, j'ai ajouté le code suivant
location / {
deny all;
}
Maintenant lorsque je teste la sécurité SSL de exemple.com, il dit "Aucun protocole sécurisé pris en charge" et aucun résultat de test n'est apparu.
Alors mes questions sont,
Que faut-il faire avec la configuration par défaut fournie avec nginx qui se charge pour l'adresse IP?
Quel server_name (fichier de configuration) doit être défini comme default_server sur la commande 'listen'?
Que faire avec l'adresse IP qui redirige actuellement les demandes https vers le domaine exemple?
Résultats souhaités :-
https:// example.com devrait être le seul utilisé pour se connecter au serveur et charger l'adresse IP devrait afficher 'page non trouvée' ou 'interdit', puisque exemple.com sera utilisé pour des scripts php dessus.
Les tests SSL devraient donner au moins une note A après la configuration définie.
L'adresse IP ne devrait pas accepter de connexions directement et les traiter.