Server_name does not work when nginx configures the server?
我想大声告诉你
我想大声告诉你 2017-05-16 17:15:16
0
1
1142

Why does server_name not work when nginx configures the server?

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;
           }
}

The above is my code. I configured two servers. The server_name and port are different.
But when I visited kaixuan.hehe.com:8000, I also entered kaixuan.test.com. [Note the port]
Similarly, I can also access kaixuan.hehe.com when I visit kaixuan.test.com. Is this normal?
If this is normal, how can we solve it online? Add a default one so that he can enter it by default?

我想大声告诉你
我想大声告诉你

reply all(1)
小葫芦

Yes, add a default blocker.

When the rules of all servers do not match, nginx will use the first server configuration, so generally the first server will use the blocking page.

server {
   listen 80;
   server_name _;
   
   return 404;
}
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template