Назад | Перейти на главную страницу

Nginx предотвращает перенаправление для одного места

У меня есть перенаправление для принудительного использования https:

server {
    listen 80;

    server_name example.com;
    return 301 https://example.com$request_uri;
}

Отлично работает, но я хотел бы иметь возможность работать с одним текстовым файлом через http, используя эхо-модуль:

server {
    listen 80;

    location /ping {
        echo "http_pong";
    }

    server_name example.com;
    return 301 https://example.com$request_uri;
}

К сожалению, я никогда не смогу добраться до /ping поскольку вместо этого я получаю перенаправление 301. Как я могу предотвратить применение глобального перенаправления к этому единственному месту?

Попробуйте поместить перенаправление в location /, как это:

server {
    listen 80;
    server_name example.com;

    location /ping {
        echo "http_pong";
    }

    location / {
        return 301 https://example.com$request_uri; 
    }
}

Знайте - "echo" устарел. Используйте "возврат"

location / {
  return 200 'http_pong';

}