Как ограничить указанный файл на указанном порту в Nginx?

Веб-сервер NginX, мне нужно сделать это:

  1. при доступе к xxx.php через порт 80 верните 404;
  2. при доступе к xxx.php из 8555(ssl-соединение) обычным способом.

Я пробовал так:

server
{

    listen 80;
    location xxx.php {
        return 404;
    }

    location / {
        .....
    }
}


server
{
    listen 8555 default ssl;
    location / {
        ....
    }
}

где location /{ Директивы точно такие же. Но, похоже, не работает.

Спасибо за вашу помощь.

2 ответа

Использование location /path/to/xxx.php вместо location xxx.php,

Я думаю, что упустил важный момент: сервер - это прокси-сервер, а у вышестоящего сервера есть много правил переписывания, поэтому здесь нужно сопоставить не сам файл, а URL-адрес.

так что решение таково:

найдите правило перезаписи на вышестоящем сервере, найдите ключевое слово, которое вы хотите сопоставить, добавьте

location ^~ /keyword {
    return 404;
}
Другие вопросы по тегам