NGINX 의 기음 기교 - 2. IF AND 와 OR

1704 단어 nginx
이전 글: NGINX 의 기 음 기법 - 1. 문자열 절단 에서 우 리 는 if 를 사용 하여 문자열 을 자 르 는 용법 을 소개 했다. 이번 에는 if 의 논리 적 용법 을 알 아 보 자.
논리 적 용법 이 무엇 입 니까? 프로그램 중의 and, or 관 계 를 논리 라 고 합 니 다.
NGINX 는 if andor 또는 &&|| 를 지원 합 니까?
정 답 은 No. 이렇게 설정 하려 고 할 때 nginx 를 다시 불 러 오 는 중 오류 가 발생 합 니 다.
    location = /test/ {
        default_type text/html;
        set $b 0;
        if ( $remote_addr != '' && $http_x_forwarded_for != '' ){
            set $b '1';
        }
        echo $b;
    }
[root@test-vm ~]# /usr/local/nginx/sbin/nginx -t

nginx: [emerg] invalid condition "$remote_addr" in /usr/local/nginx/conf/nginx.conf:60
configuration file /usr/local/nginx/conf/nginx.conf test failed

그렇다면 우 리 는 어떻게 and 와 or 의 논리 적 관 계 를 실현 해 야 합 니까?
    location = /test_and/ {
        default_type text/html;
        set $a 0;
        set $b 0;
        if ( $remote_addr != '' ){
            set $a 1;
        }
        if ( $http_x_forwarded_for != '' ){
            set $a 1$a;
        }
        if ( $a = 11 ){
            set $b 1;
        }
        echo $b;
    }
    location = /test_or/ {
        default_type text/html;
        set $a 0;
        set $b 0;
        if ( $remote_addr != '' ){
            set $a 1;
        }
        if ( $http_x_forwarded_for != '' ){
            set $a 1;
        }
        if ( $a = 1 ){
            set $b 1;
        }
        echo $b;
    }

좋은 웹페이지 즐겨찾기