HAProxy가 HTTP2 요청을 HTTP 1.1로 전달하는 이유는 무엇입니까?

HAProxy가 HTTP2 요청을 HTTP 1.1로 전달하는 이유는 무엇입니까?

HAPoxy를 사용하여 두 서버 사이에 로드 밸런서를 구성하려고 합니다. 구성은 다음과 같습니다.

frontend haproxynode
    bind *:443 ssl crt /etc/ssl/private/isel.pem alpn h2,http/1.1
    mode tcp
    default_backend backendnodes
    
 backend backendnodes
    balance roundrobin
    option forwardfor
    server node1 192.168.1.5:80 check
    server node2 192.168.1.6:80 check

내 네트워크는 다음과 같습니다.

회로망

저는 두 개의 서버 가상 머신에서 텍스트 뉴스 서버를 실행하고 있습니다. 벤치마킹을 위해 h2load를 사용하고 있습니다. 이 명령을 사용하면 h2load -n 30 -c 30 https://192.168.1.26/blog/다음과 같은 결과가 나타납니다.

여기에 이미지 설명을 입력하세요.

보시다시피 애플리케이션 프로토콜은 h2이지만 WireShark에서는 요청이 HTTP 1.1로 표시됩니다. 이유는 무엇입니까?

여기에 이미지 설명을 입력하세요.

답변1

서버가 암호화되지 않은 http/2를 지원합니까?

이 시도:

backend servers
   mode http
   server S1 XXX.XXX.XXX:80 proto h2
   server S2 XXX.XXX.XXX:80 proto h2

암호화가 활성화된 경우 다음을 시도해 보십시오.

backend servers
   mode http
   server S1 XXX.XXX.XXX:443 ssl alpn h2
   server S2 XXX.XXX.XXX:443 ssl alpn h2

관련 정보