ChatGPT 에 NGINX를 물어보세요.

우리는 사용자와 커뮤니티가 빠르게 배우고 질문에 답할 수 있도록 돕는 새로운 방법에 대한 열렬한 팬입니다. NGINX팀은 ChatGPT 가 NGINX 관련 질문에 대해 품질 좋은 답변을 제공하는지 궁금해서 시험을 해보았습니다.

ChatGPT 가 출시된 이후 짧은 시간 동안 기술 세계를 뒤흔들었습니다. 인공지능 연구 및 개발 기업인 OpenAI가 개발한 ChatGPT 는 웹 브라우저 기반의 챗봇으로, OpenAI의 자연어 모델을 사용하여 사람들과 “대화 방식”으로 상호작용하는 방법을 학습합니다. 이는 노래를 작곡하거나 심지어 셰익스피어 소네트를 쓰는 등 놀라운 일들을 할 수 있습니다. 프로그래머들은 ChatGPT 가 기본적인 질문에 대해 제공한 세부적인 응답에 감탄했습니다.

그러나 ChatGPT 의 응답 확장성과 신뢰성에 관한 일부 우려와 어려움이 나타났습니다. 질문과 답변 사이트인 StackOverflow는 ChatGPT 가 생성한 응답 중에서 많은 부분이 부정확하여 일시적으로 차단되었습니다. 일부 사용자는 이상한 질문이나 보편적인 질문에 대해서도 명백히 부정확하거나 이상한 응답을 보고했습니다.

목차

1. 안녕 ChatGPT
1-1. 질문 1
1-2. 질문 2
1-2. 질문 3
1-4. 질문 4
2. ChatGPT 결론

1. 안녕 ChatGPT

ChatGPT 에 네 가지 질문을 했습니다. ChatGPT 의 답변을 보여주고 정확성을 평가합니다.

1-1. 질문 1

질문: NGINX란 무엇인가요?

답변: NGINX는 웹 서버로서 웹사이트와 애플리케이션을 제공하는 데 사용될 수 있습니다. 높은 성능과 안정성으로 알려져 많은 웹사이트와 애플리케이션에서 인기 있는 선택지입니다. NGINX는 리버스 프록시, 로드 밸런서 및 HTTP 캐시로도 사용할 수 있습니다. 이는 오픈소스 소프트웨어로서 Linux 운영 체제에서 널리 사용됩니다.

정확도: 기본적으로 정확합니다. 추가 일반 사용 사례로 API Gateway를 언급하지 않았습니다.

1-2. 질문 2

질문: NGINX 오픈소스에 WAF가 있습니까?

답변: 네, NGINX의 오픈 소스 버전에는 웹 애플리케이션 방화벽(WAF) 모듈이 포함되어 있습니다. NGINX WAF는 ModSecurity 오픈소스 WAF를 기반으로하며, SQL Injection 및 Cross Site Scripting과 같은 일반적인 취약점으로부터 웹 애플리케이션을 보호하기 위한 유연하고 강력한 규칙 엔진을 제공합니다. NGINX WAF는 긍정적 및 부정적 보안 모델을 모두 구성할 수 있어 원하는 요청을 허용하거나 차단할 수 있습니다. 그러나 기억해야 할 점은 NGINX의 오픈 소스 버전은 WAF 모듈에 대한 지원을 포함하지 않으므로 설정 또는 사용에 도움이 필요한 경우 커뮤니티 지원에 의존하거나 전문가와 상담해야 합니다.

정확도: 혼합된 결과. NGINX에서 제공하는 NGINX 오픈소스 소프트웨어에는 WAF가 포함되어 있지 않습니다. source 코드, 미리 컴파일된 바이너리 파일 또는 미리 빌드된 동적 모듈로도 제공되지 않습니다. 그러나 오픈 소스인 ModeSecurity WAF를 기반으로 NGINX 오픈 소스용 WAF를 빌드할 수 있습니다. 이는 Trustwave의 SpiderLabs에서 제공하는 libmodsecurity 라이브러리를 기반으로 한 동적 모듈 형태로 구축됩니다.

한편, ModSecurity WAF에 대한 설명은 유익하며, 오픈소스 소프트웨어로서 ModSecurity WAF 동적 모듈은 지원되지 않는 것은 사실입니다. (완벽함을 위해 F5 NGINX에는 NGINX Plus용 ModSecurity를 기반으로 지원하는 WAF를 사용하였지만, 이제는 판매되지 않으며 2024년에 지원 종료가 예정되어 있습니다. 대신, 지금은 NGINX App Protect WAF를 유료 구독자에게 NGINX Plus 및 기타 제품의 추가 기능으로 제공하고 있습니다.)

1-3. 질문 3

질문: NGINX 구성 방법을 알려주세요.

답변: NGINX를 구성하려면 일반적으로 nginx.conf라고 하는 구성 파일을 편집해야 하며 NGINX 설치 디렉토리 내의 conf 디렉토리에 있습니다.

구성 파일은 NGINX에 동작 방법을 알려주는 명령인 지시문 형식으로 작성됩니다. 각 지시문은 새 줄에 지정되며 일반적으로 directive_name directive_value; 형식을 취합니다.

다음은 몇 가지 일반적인 지시문을 보여주는 구성 파일의 예입니다.

# This is a comment

# The number of worker processes to run.
# It is usually best to set this to the number of CPU cores on the server
worker_processes 4;

# The directory where the log files will be stored
error_log /var/log/nginx/error.log;

# The default server, which will be used if no other server matches 
# the request
server {
    # The listen directive specifies the port that the server will 
    # listen on
    listen 80;

    # The root directive specifies the root directory for the server
    root /var/www/html;

    # The server_name directive specifies the server's hostname
    server_name example.com;

    # The location directive specifies a URL pattern and associated 
    # handling rules
    location / {
        # This directive specifies that requests for the root URL 
        # should be handled by the index.html file in the root directory
        index index.html;
    }
}

https://nginxstore.com/docs/nginx/에서 액세스할 수 있는 NGINX 설명서에서 사용할 수 있는 다양한 지시문에 대한 자세한 정보를 찾을 수 있습니다.

정확도: 지금까지는 꽤 좋습니다(가장 의심스러운 설명은 nginx.conf 파일이 NGINX 설치 디렉토리 내의 conf 디렉토리에 위치한다는 것인데, 이는 일부 OS 공급업체 배포판에만 해당됩니다). 샘플 구성에서 지시문에 대한 설명은 올바르지만, 전체적인 구조는 완전하지 않으며 특히 server 블록을 http{} 컨텍스트 안에 포함시키는 것이 필요합니다. 또한, 샘플 구성이 너무 간단하여 실용적으로는 유용하지 않을 수 있습니다. 그러나 NGINX가 지원하는 다양한 사용 사례를 고려할 때, 완전한 답변을 기대하는 것은 합리적이지 않을 수 있습니다.

그러나 이 답변 자체는 흥미로운 질문을 제기합니다. ChatGPT 는 답변에 어떤 source를 사용합니까? 이 답변의 텍스트나 구성은 NGINX의 공식 문서에서 직접 가져온 것이 아니며 답변의 여러 문구에 대한 링크가 포함되어 답변 자체가 해당 source에서 파생되지 않은 이유를 알 수 있습니다.

1-4. 질문 4

질문: 10가지 NGINX 구성 실수는 무엇입니까?

답변: 답변을 드릴 수 없습니다.

정확도: 이것은 블로그 포스트 및 해당 웨비나의 제목을 기반으로 한 소프트볼 질문으로, 둘 다 질문과 매우 유사합니다. ChatGPT 가 어떤 방식으로든 대답할 수 없다는 사실은 훨씬 더 광범위한 색인을 가지고 있고 블로그를 찾은 Google과 혼동하지 않는 방법을 강조합니다. 실제로 Google은 첫 번째 결과로 블로그를 반환했을 뿐만 아니라 블로그 자체의 소개에 있는 요약 목록에서 처음 7개 항목을 제공했습니다.

Screenshot of Google search results for 'Top 10 NGINX Configuration Mistakes'
ChatGPT

2. ChatGPT 결론

ChatGPT 는 매우 강력하고 재미있는 기술입니다. 다른 봇보다 더 대화적인 형식으로 몇 가지 질문에 대답하는 환상적인 작업을 수행합니다. 경우에 따라 프로그래밍 질문에 대한 자세한 답변을 제공하는 것이 좋습니다. 그러나 그 적용 범위는 여전히 고르지 않으며, NGINX 정보와 관련하여 귀하의 마일리지는 확실히 다를 것입니다. 당연히 NGINX에 대한 최고 정보는 NGINXSTORE에 있습니다.

NGINX Plus를 직접 사용해 보시려면 30일 무료 평가판을 신청하거나 NGINX STORE에 연락하여 문의하십시오.

아래 뉴스레터를 구독하고 NGINX의 최신 정보들을 빠르게 전달 받아보세요.