Nginx

nginx - 為每個路徑返回 http 410 程式碼

  • August 17, 2019

我正在嘗試將 nginx 配置為為 / 下的任何路徑返回 http 410 (“Resource Gone”) 程式碼

我的配置如下。

使用此配置,如果我請求 /410test,我會得到一個標準的 nginx 404 Not Found 頁面,以及 404 的響應狀態程式碼。所以我什至無法為一個特定路徑獲得 410 的響應,更不用說所有路徑.

user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
   worker_connections 768;
   # multi_accept on;
}

http {
   server {
       location /410test {
               return 410 "this is my 410 test page";
       }

   }


   sendfile on;
   tcp_nopush on;
   tcp_nodelay on;
   keepalive_timeout 65;
   types_hash_max_size 2048;

   include /etc/nginx/mime.types;
   default_type application/octet-stream;

   ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
   ssl_prefer_server_ciphers on;

   access_log /var/log/nginx/access.log;
   error_log /var/log/nginx/error.log;

   gzip on;

   include /etc/nginx/conf.d/*.conf;
   include /etc/nginx/sites-enabled/*;
}

您缺少配置中塊中的listen指令。server您從conf.d&下定義的站點獲得 404 sites-enabled

return直接放在上下文server中:

http {
   server {
       return 410 "this is my 410 test page";
   }
}

為什麼它不適用於您的配置,可能是因為您嘗試訪問/410test/(帶有斜杠)與您定義的location.

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