Si j'ai déjà un groupe d'hôtes virtuels, comment puis-je créer un hôte virtuel pour gérer les demandes qui ne correspondent à aucun des hôtes virtuels? (c'est-à-dire l'accès par IP, un autre domaine lié à IP, .etc .etc)
nom du serveur _; et default_server sur la configuration d'écoute sont ce que vous recherchez.
Exemple:
server {
listen 80 default_server;
server_name _;
root /var/www/default; (or wherever)
}
Si vous utilisez SSL, alors vous avez besoin d'une plomberie supplémentaire pour un certificat et une clé default_server (qui peuvent être auto-signés).
server {
server_name _;
listen 80 default_server;
listen 443 ssl default_server;
ssl_certificate <path to cert>;
ssl_certificate_key <path to key>;
return 404; # or whatever
}
Nginx essaiera d'accepter la connexion SSL sur un serveur par défaut IP/port correspondant. Si un tel serveur manque cert/clé, nginx abandonnera la connexion. Il n'essaiera pas d'autres serveurs. N'oubliez donc pas cert/key.
server {
listen 80 default_server;
listen 443 ssl default_server;
listen [::]:80 default_server;
listen [::]:443 ssl default_server;
server_name _;
root /path/to/default;
}
Les entrées concernent respectivement le port 80 (HTTP), le port 443 (HTTPS), le port 80 IPv6 et le port 443 IPv6.
Vous pourriez envisager d'ajouter log_not_found off;
pour éviter d'ajouter une entrée de journal pour la page introuvable.