NGINX Q&A: 대표적인 질의응답 소개

NGINX는 고객과 오픈소스 사용자로부터 NGINX 제품을 다양한 사용 사례에 어떻게 활용하고, NGINX와 다른 플랫폼 및 도구를 올바르게 통합 하는지에 관한 NGINX Q&A 를 진행합니다.

NGINX 커뮤니티 전체에서 가능한 한 광범위하게 이러한 전문 지식을 공유하고자 NGINX Q&A 를 시작했습니다.
기술 설계자, 시스템 엔지니어 및 수상 경력이 있는 고객 지원 전문가를 포함한 NAT 전문가가 이에 답변했습니다.

목차

1. NGINX Q&A: F5에서 NGINX Plus로 마이그레이션 할 때 콘텐츠 기반 라우팅을 위해 iRule을 어떻게 변환해야 하나요?
2. NGINX Q&A: Apache Rewite Rules를 NGINX 구문으로 어떻게 변환합니까?
3. NGINX Q&A: NGINX를 사용하여 인터넷에 직접 노출하지 않고 서비스를 보호할 수 있습니까?
4. NGINX Plus를 API Gateway로 배포하는 방법
5. NGINX Q&A: NGINX Plus를 사용하여 스크립트 또는 NGINX Plus API에 대한 호출을 사용하여 들어오는 트래픽이 두 서버 또는 컨테이너 간에 쉽게 전환되는 Blue-Green 배포를 구현할 수 있습니까?
6. 문의해보기

1. NGINX Q&A: F5에서 NGINX Plus로 마이그레이션 할 때 콘텐츠 기반 라우팅을 위해 iRule을 어떻게 변환해야 하나요?

고객이 DevOps 방식을 채택하여 애플리케이션 제공 인프라를 현대화하고 민첩성을 향상시키기 위해 F5 Application 제공 Controller를 NGINX Plus로 교체할 때 이러한 질문을 자주 듣습니다.

NGINX Plus는 URI 접두사 또는 정규식을 사용하여 요청에 대해 일치시키는 location 지시문을 사용하여 요청 라우팅을 구현합니다.

2. NGINX Q&A: Apache Rewite Rules를 NGINX 구문으로 어떻게 변환합니까?


NGINX 오픈소스나 NGINX Plus를 Apache 서버의 앞에 배치하여 리버스 프록시나 로드 밸런서로 사용하거나, Apache 웹 서버를 NGINX 웹 서버로 대체할 때 Apache의 Rewrite Rules를 NGINX 구문으로 변환해야 합니다. .htaccess 파일(Apache의 디렉토리별 구성 파일)은 NGINX와 NGINX Plus에서 지원되지 않으므로 특별한 방법으로 변환해야 합니다. 자세한 내용은 NGINX STORE의 Apache Rewrite 규칙을 NGINX Rewrite 규칙으로 전환하기를 참조하십시오.

3. NGINX Q&A: NGINX를 사용하여 인터넷에 직접 노출하지 않고 서비스를 보호할 수 있습니까?

NGINX 오픈소스와 NGINX Plus를 사용하여 Reverse Proxy로 클라이언트 요청을 백엔드 서버에 분산시킬 수 있습니다. 그런 다음 백엔드 서버가 호스팅되는 주소가 아닌 Reverse Proxy의 주소를 사이트의 Access point로 게시합니다. Reverse Proxy 서버는 백엔드 서버로 향하는 요청을 가로채어 그들의 신원을 보호하고 보안 공격에 대한 추가적인 방어 역할을 합니다. NGINX Plus는 Active Health checks, 업스트림 그룹의 Dynamic Reconfiguration, 클러스터 내 여러 NGINX Plus 인스턴스 간의 상태 공유 등 엔터프라이즈급 기능을 제공하여 로드 밸런싱을 간소화하고 신뢰성을 향상시킵니다.

4. NGINX Plus를 API Gateway로 배포하는 방법

NGINX Plus는 API Gateway로서 배포할 수 있습니다.
conf 파일 구성을 사용하여 NGINX Plus를 API Gateway로 배포하는 방법과, NGINX Management Suite 등과 같은 API Management 툴을 사용하여 API를 정의, 게시, 보호, 모니터링 및 분석할 수 있습니다.

자세한 구성은 NGINX STORE의 NGINX API Gateway – API 정의 및 인증 구현 포스트를 참고하세요.

5. NGINX Q&A: NGINX Plus를 사용하여 스크립트 또는 NGINX Plus API에 대한 호출을 사용하여 들어오는 트래픽이 두 서버 또는 컨테이너 간에 쉽게 전환되는 Blue-Green 배포를 구현할 수 있습니까?

NGINX Plus의 Key-Value Store를 사용하여 이를 수행할 수 있습니다.
bluegreen이라는 두 개의 업스트림 그룹을 정의한 다음, NGINX Plus API를 사용하여 어떤 업스트림 그룹을 사용할 지를 나타내는 값을 설정합니다. 다음은 샘플 구성입니다.

keyval_zone zone=blue-green:64k;
keyval $environment $keyval_upstream zone=blue-green;

map $keyval_upstream $upstream {
    ~.+     $keyval_upstream; 
    default blue;
}

upstream blue {
   # ...
}

upstream green {
   # ...
}

server {
    set $environment environment;
    location / {
        proxy_pass http://$upstream;
    }

    # Enable the NGINX Plus API. For production, add directives to restrict 
    # access to the API.
    location /api {
        api write=on;
        # in production, directives restricting access
    }
}

map 블록은 기본적으로 환경을 blue로 설정하므로 Key-Value Store를 초기화할 필요가 없습니다. green 환경으로 변경하려면 다음 명령을 실행하십시오.

# curl -iX PATCH -d '{"environment":"green"}'
http://localhost/api/3/http/keyvals/blue-green

Key-Value Store에는 environment라는 하나의 키(Key)만 있기 때문에 이는 key-value store의 가장 간단한 사용 사례 중 하나입니다. (set 지시문으로 정의됨). A/B Testing, 대역폭 제한, IP 주소 거부 등과 같은 더 복잡한 사용 사례에 대해서는 NGINX STORE에 문의해보세요.

6. 문의해보기

NGINX Q&A 에 대한 추가 질문이 있습니까? NGINX STORE에 연락을 남기시면 기꺼이 답변해드리겠습니다!