Местоположение игнорируется в nginx - PullRequest
0 голосов
/ 04 февраля 2020

У меня есть простое местоположение в моей конфигурации nginx, но я не перехватил

server {
    listen 80 default_server;
    server_name _;

    location /healthcheck {
        access_log off;
        add_header Content-Type "text/plain";
        return 200 "OK\n";
    }

    return 301 http://www.google.fr;
}

Каждый раз, когда я go до http://xxx/healthcheck местоположение не определяется, и я ' m перенаправлен в Google.

Что я сделал не так в моем файле? Спасибо

Ответы [ 2 ]

1 голос
/ 04 февраля 2020

Пожалуйста, переключите 301 на 302 код перенаправления и используйте режим anon в браузере, или лучше используйте curl для проверки URL-адреса Healthcheck. Например:

curl -IL http://xxx/healthcheck

301 всегда является проблемой, когда вы что-то тестируете.

Изменение не будет немедленным. Пожалуйста, будьте терпеливы. Дайте нам знать

1 голос
/ 04 февраля 2020

Префикс = означает, что указанное местоположение должно точно соответствовать запрошенному URL.

Вот рабочая настройка

server {
    listen 80 default_server;
    server_name _;
    location = /healthcheck {
        access_log off;
        add_header Content-Type "text/plain";
        return 200 "OK\n";
    }

    return 301 http://www.google.fr;
}

ИЛИ

server {
    listen 80 default_server;
    server_name _;
    location /healthcheck {
        access_log off;
        add_header Content-Type "text/plain";
        return 200 "OK\n";
    }
}

Примечание : не забудьте перезагрузить nginx после всех изменений sudo nginx -s reload

...