%EB%A5%BC%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%82%AC%EC%9A%A9%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
배경
IETF RFC 9460연결을 HTTPS로 업그레이드하고 지원되는 애플리케이션 계층 프로토콜(ALPN)을 지정하는 데 사용할 수 있는 DNS 리소스 레코드(RR)를 SVCB
정의 합니다 .HTTPS
2021년 9월 7일 Firefox 92가 출시되었습니다.HTTPS RR에 대한 지원이 추가되었습니다.:
Firefox는 사용 가능한 HTTPS RR이 사용 가능해지면 자동으로 HTTP 요청을 HTTPS로 업그레이드합니다. 또한 HTTPS RR에 제공된 정보를 사용하여 HTTPS 연결 설정 프로세스를 최적화합니다. 이는 개념적으로 Alt-Svc 헤더를 사용하는 것과 유사합니다. (파이어폭스 버그 1721132).
시험
이것을 로 테스트하려고 합니다 www.google.com
.
먼저 RR이 있는지 확인하려고 했습니다 HTTPS
.
$ dig 8.8.8.8 www.google.com HTTPS
...
;; ANSWER SECTION:
www.google.com. 3358 IN HTTPS 1 . alpn="h2,h3"
여기서 우리는 RR이 존재한다는 것을 알 수 있으며 HTTP/3이 매개변수 값 HTTPS
으로 표시되는 지원되는 프로토콜임을 알 수 있습니다 .h3
alpn
다음으로 운영 체제의 DNS 캐시를 지우려고 했습니다. 예를 들어, Windows에서는 ipconfig /flushdns
. 또한 Firefox와 Chrome(또는 다른 프로세스)이 제가 테스트하고 있던 시스템 중 하나에서 google.com에 많이 접속하려고 시도하는 것 같기 때문에 주소 표시줄에서 Enter 키를 누르기 직전에 이 작업을 실행했습니다.
Firefox v120을 열고 방문을 시도했습니다: www.google.com
.
문제
Firefox v120은 v92 릴리스에서 HTTPS RR을 사용하여 업그레이드하고 최적화할 것이라고 명시했지만 이를 요구하지 않는 것 같습니다.
Wireshark는 A
및 AAAA
RR만 쿼리됨을 보여줍니다.
그리고 Firefox는 헤더로 인해 HTTP/3으로 전환하기 전에 처음에 HTTP/2 연결을 여는 것을 볼 수 있습니다 Alt-Svc
.
실제로는 어떤(Chrome, IceCat, Edge 등) 데스크톱 응용 프로그램처럼 나타나지 않습니다. 여러 웹 사이트에서 RR을 요청하세요. WireShark 를 HTTPS
필터링할 때 어떤 히트도 얻지 못하기 때문입니다. 를 통해 명시적으로 조회를 수행할 때만 히트를 얻습니다 .dns.qry.type == "HTTPS"
dns.qry.type == 65
dig
질문
HTTPS
RR이 쿼리되지 않은 것으로 나타나는 이유는 무엇입니까 ?
문제를 이해하기 위해 근본 원인을 찾는 데 도움이 될 수 있는 다음과 같은 주요 질문도 묻고 있습니다.
- 이 기능은 기본적으로 비활성화되어 있습니까?
- 이는 호스트 설정(RR 설정 제외
HTTPS
)에 따라 달라지나요? 내가 읽은 자료에는 추가 단계가 필요하다는 내용이 나와 있지 않습니다. - RR 을 요청하는 것은 누구의 책임입니까
HTTPS
? 브라우저입니까, 아니면 운영체제입니까? 지금까지 저는 Guix System 1.4, Windows 10, Windows 11의 업데이트 버전과 위에서 언급한 모든 브라우저를 사용해 사용해 보았습니다. - 하드웨어에 따라 달라지나요?
답변1
nslookup은 HTTPS 조회를 지원하지 않고 win32에서 내부적으로 사용되기 때문에 이것이 Windows 관련 문제라고 생각합니다. 나는 브라우저가 win32 기능에 의존하고 있다고 생각합니다. iPhone의 Safari Chrome이나 Firefox에서 테스트하면 완벽하게 작동합니다.