Nginx: несколько операторов возврата на одном сервере - PullRequest
0 голосов
/ 04 сентября 2018

Мы создали URL проверки работоспособности /healthz для нашего прокси nginx. Хотя у нас также есть HTTP-перенаправление на HTTP через переменную $http_x_forwarded_proto (это правильный способ сделать это за ELB).

Проблема в том, что он всегда возвращает 301, а return 200 "healthy"; никогда не работает:

server {
    listen 80;

    server_name _;

    # Kubernetes ingress controller health check.
    # @see https://github.com/kubernetes/contrib/issues/1867
    location = /healthz {
        access_log off;
        allow all;
        return 200 "healthy\n";
    }       

    # Redirect http to https        
    if ($http_x_forwarded_proto != 'https') {
        return 301 https://$host$request_uri;
    }      

...

...