Server_name tidak berfungsi apabila nginx mengkonfigurasi pelayan?
我想大声告诉你
我想大声告诉你 2017-05-16 17:15:16
0
1
1132

Mengapa nama server tidak berfungsi semasa mengkonfigurasi pelayan 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;
           }
}

Di atas adalah kod saya. Saya telah mengkonfigurasi dua pelayan dan port adalah berbeza


Tetapi apabila saya melawat kaixuan.hehe.com:8000, saya juga memasuki kaixuan.test.com. [Perhatikan pelabuhan]Begitu juga, bila saya melawat kaixuan.test.com, saya juga boleh masuk ke kaixuan.hehe.com Adakah ini normal?
Jika ini perkara biasa, bagaimana kita boleh menyelesaikannya secara dalam talian? Tambahkan yang lalai supaya dia boleh memasukkannya secara lalai?

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

membalas semua(1)
小葫芦

Ya, tambahkan penyekat lalai.

Apabila peraturan semua pelayan tidak sepadan, nginx akan menggunakan konfigurasi pelayan pertama, jadi secara amnya pelayan pertama akan menggunakan halaman penyekat.

server {
   listen 80;
   server_name _;
   
   return 404;
}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan