다음과 같이 연결할 수 있습니다 https://registry.terraform.io/.well-known/terraform.json 브라우저를 사용하여
명령줄에서 연결하려고 하면
컬: (7) Registry.terraform.io 포트 443에 연결하지 못했습니다: 시간이 초과되었습니다.
해결 방법에 대한 아이디어가 있으신가요? 감사합니다.
답변1
명령 창에서 잘못된 프록시 설정으로 인해 문제가 발생했습니다. HTTPS_PROXY=브라우저의 프록시 설정
답변2
TL;DR
아래 7단계에 나열된 명령을 시도해 보십시오 curl
. 그래도 작동하지 않으면 curl
명령 외에 다른 문제(예: 방화벽 또는 프록시)가 있을 가능성이 높습니다.
cURL을 사용하여 브라우저 요청 복사
브라우저에 연결할 수 있는 경우 명령과 관련된 잠재적인 문제를 제거하는 한 가지 방법은 curl
브라우저에서 원하는 트랜잭션을 "복사"하는 것입니다. Chrome, Firefox 및 Opera에는 모두 이를 허용하는 개발자 콘솔이 있습니다.
새 빈 탭을 엽니다.
Chrome 및 Firefox에서는 버튼을 눌러 F12개발자 콘솔을 엽니다. 오페라에서는 Ctrl+ Shift+ 를 누르세요 I.
옵션 을 찾아
Network
선택하세요.원하는 URL로 이동합니다. 예:https://registry.terraform.io/.well-known/terraform.json.
결국 다음과 비슷한 내용을 보게 될 것입니다.
전. 네트워크 거래
원하는 거래를 선택하고 마우스 오른쪽 버튼을 클릭한 후 옵션을 선택합니다
Copy as cURL
(Chrome의 경우 사용Copy as cURL (cmd)
).전. cURL로 복사
클립보드의 내용을 붙여넣으면 다음에 대한 요청의 정확한 사본이 있어야 합니다
curl
.curl "https://registry.terraform.io/.well-known/terraform.json" -H "authority: registry.terraform.io" -H "upgrade-insecure-requests: 1" -H "user-agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36" -H "sec-fetch-mode: navigate" -H "accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3" -H "sec-fetch-site: none" -H "accept-encoding: gzip, deflate, br" -H "accept-language: en-US,en;q=0.9" --compressed
이 curl
명령은 브라우저의 요청을 정확하게 복제해야 합니다.
다른 문제
이렇게 해도 문제가 해결되지 않는다고 가정하면 방화벽/프록시 문제 또는 인증서 문제 등 이 요청이 실패할 수 있는 다른 이유를 조사해야 합니다.
컬을 사용하여 자체 서명되었거나 유효하지 않은 인증서를 무시하려면
-k
또는 옵션을 사용하십시오 .--insecure
문제 해결에 도움이 되도록 플래그를 사용
--verbose
하고 로 HTTP 헤더를 덤프하는 것을 고려해 보세요 .-D -
curl
특정 브라우저 에뮬레이션
(일반) cURL 요청이 여전히 실패하고 있다는 귀하의 추가 의견에 따르면 성공적으로 연결할 수 있는 특정 브라우저를 에뮬레이트해야 할 가능성이 높습니다.
브라우저는 자신을 다음과 같이 식별합니다.사용자 에이전트해당 브라우저의 특정 버전과 관련된 문자열입니다. URL에 연결할 수 있는 브라우저를 에뮬레이션하려면 다음 중 하나를 수행해야 합니다.
내가 제공하는 단계를 사용하십시오.cURL을 사용하여 브라우저 요청 복사성공적으로 연결할 수 있는 브라우저에서
user-agent
7단계의 값을 다음과 같은 사이트에서 반환된 값으로 바꿔보세요 .내 브라우저는 무엇입니까(링크에 액세스하는 데 문제가 없는 브라우저에서 이 링크를 방문하세요).
예(옵션 2)
"일반" 사용자 에이전트(위)
-H "user-agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36"
특정 사용자 에이전트(예: What Is My Browser)
-H "user-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0"
user-agent
첫 번째 방법(요청 복사) 이 요청을 승인하는 데 사용되는 헤더 이외의 헤더를 포착할 수 있으므로 아마도 가장 신뢰할 수 있다는 점에 유의하는 것이 중요합니다 .