Keepalive의 반대 동작(ElasticSearch의 nginx 역방향 프록시)

Keepalive의 반대 동작(ElasticSearch의 nginx 역방향 프록시)

위에서 언급한 대로 ElasticSearch에 대해 nginx 역방향 프록시(HTTP 기본 인증 사용)를 설정하고 있습니다.본문에서.

이것은 내 nginx 구성 파일입니다.

events {
        worker_connections  1024;
}


http {
        upstream elasticsearch {
                server elasticsearch.example.org:9200;
                keepalive 64;
        }

        server {
                listen 8080;

                location / {
                        auth_basic "ElasticSearch";
                        auth_basic_user_file /var/www/.htpasswd;

                        proxy_pass http://elasticsearch.example.org:9200;
                        proxy_http_version 1.1;
                        proxy_set_header Connection "Keep-Alive";
                        proxy_set_header Proxy-Connection "Keep-Alive";
                }
        }
}

프록시는 포트 8080을 9200으로 올바르게 전달하며 Elasticsearch에 대한 연결 유지를 유지해야 합니다.

URL에 접속한 결과입니다.http://elasticsearch.example.org:9200/_nodes/stats/http?pretty또는http://elasticsearch.example.org:8080/_nodes/stats/http?pretty(HTTP 인증이 완료되었습니다.) 브라우저에서:

{
  "cluster_name" : "elasticsearch",
  "nodes" : {
    "rIFmzNwsRvGp8kipbcwajw" : {
      "timestamp" : 1455899085319,
      "name" : "Kid Colt",
      "transport_address" : "elasticsearch.example.org/10.3.3.3:9300",
      "host" : "10.3.3.3",
      "ip" : [ "elasticsearch.example.org/10.3.3.3:9300", "NONE" ],
      "http" : {
        "current_open" : 3,
        "total_opened" : 28
      }
    }
  }
}

이 필드는 페이지가 포트 9200(Elasticsearch에 직접 연결)에서 액세스되고 다시 로드될 때 증가해야 하며 total_opened, 포트 8080(nginx 프록시를 통해)에서 액세스하고 다시 로드될 때 변경되어서는 안 됩니다.

사실, 그 반대가 사실입니다. 이 이상한 행동의 이유는 무엇입니까?

답변1

upstream라는 컨테이너를 정의했습니다 elasticsearch. 하지만 당신은 그것을 부르지 않습니다. 지시문을 다음으로 바꾸십시오 proxy_pass.

proxy_pass http://elasticsearch;

바라보다이 파일더 알아보기.

관련 정보