Debian

Nginx 中出現錯誤的站點

  • March 25, 2020

我有一個為多個站點(/etc/nginx/sites-enabled)配置了 nginx 的 Debian Linux 伺服器,每個站點都顯示在自己的域中。

現在,當我從中刪除一個站點時/etc/nginx/sites-enabled,查詢已刪除站點的域顯示的不是(“未配置此域”),而是另一個站點(為完全不同的域配置)。

我想從我的伺服器中刪除一個站點,但我看到它沒有被正確刪除,而是被另一個站點替換。

這是我的一個站點的配置,例如:

# cat /etc/nginx/sites-available/homepage | grep -vE '^\s*#'

server {
   listen 80;
   listen [::]:80;


   root /var/www/homepage/web/;

   index index.html index.htm index.nginx-debian.html;

   server_name portonvictor.org;

   location / {
       try_files $uri $uri/ =404;
   }


}

除非您明確定義預設伺服器,nginx否則將使用具有匹配埠的第一個伺服器(對於沒有明確server_name匹配的任何請求)。有關詳細資訊,請參閱此文件

您應該創建一個 catch all server 塊,例如:

server {
  listen 80 default_server;
  ...
}

預設情況下,一班輪到伺服器空白頁:

echo >> /var/www/html/index.html
cat << 'EOF' >/etc/nginx/sites-available/default
server {
       listen 80 default_server;
       listen [::]:80 default_server;
       root /var/www/html/;
       index index.html;
}
server {
       listen 443 default_server;
       listen [::]:443 default_server;
       root /var/www/html/;
       index index.html;
}
EOF
ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/default
systemctl restart nginx
systemctl status nginx

引用自:https://unix.stackexchange.com/questions/288431