Pourquoi server_name ne fonctionne-t-il pas lors de la configuration du serveur nginx ?
server {
listen 8000;
server_name kaixuan.test.com;
root /data1/htdocs/kaixuan.test.com/;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
include fastcgi_params;
}
location / {
index index.html;
}
}
server {
listen 80;
server_name kaixuan.hehe.com;
root /data1/htdocs/kaixuan.hehe.com/;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
include fastcgi_params;
}
location / {
index index.html;
}
}
Ce ci-dessus est mon code. J'ai configuré deux serveurs. Le nom du serveur et le port sont différents
Mais lorsque j'ai visité kaixuan.hehe.com:8000, j'ai également entré kaixuan.test.com. [Faites attention au port]De même, lorsque je visite kaixuan.test.com, je peux également accéder à kaixuan.hehe.com. Est-ce normal ?
Si cela est normal, comment pouvons-nous le résoudre en ligne ? En ajouter un par défaut pour qu'il puisse le saisir par défaut ?
Oui, ajoutez un bloqueur par défaut.
Lorsque les règles de tous les serveurs ne correspondent pas, nginx utilisera la première configuration du serveur, donc généralement le premier serveur utilisera la page de blocage.