![내 서버에 접근할 수 없지만 컬은 작동합니다](https://linux55.com/image/205417/%EB%82%B4%20%EC%84%9C%EB%B2%84%EC%97%90%20%EC%A0%91%EA%B7%BC%ED%95%A0%20%EC%88%98%20%EC%97%86%EC%A7%80%EB%A7%8C%20%EC%BB%AC%EC%9D%80%20%EC%9E%91%EB%8F%99%ED%95%A9%EB%8B%88%EB%8B%A4.png)
curl
브라우저를 통해 내 서버에 액세스 할 수 있습니다.
하지만 를 통해서는 접근할 수 없습니다 wget
. 그것은 갇혀있다
Loaded CA certificate '/etc/ssl/certs/ca-certificates.crt'
Resolving ***
Connecting to ***:443...
wget
그러나 다른 유사한 서버에서도 사용할 수 있습니다.
시도해 보았지만 wget --debug
실제로는 더 이상 표시되지 않습니다. 멈춘 마지막 줄은 여전히 로 Connecting to ...
확인된 IP 입니다.wget
네트워크를 스마트폰의 핫스팟으로 전환하면 문제없이 wget을 사용할 수 있습니다. 라우터를 다시 시작해도 도움이 되지 않았습니다.
두 manjaro 설치(wget 버전 1.21.3) 모두에서 실패합니다. 그러나 라이브 xubuntu USB 스틱, wget 버전 1.21에서 작동합니다. 우분투를 실행하는 다른 서버에서도 wget을 사용할 수 있습니다.
나에게 node.js의 https 모듈은 wget과 동일한 방식으로 작동합니다.
문제를 계속 찾을 수 있는 곳이 있나요?
이것은 wget2의 출력입니다.
wget2 https://foo.***.com -vd
02.132709.170 Local URI encoding = 'UTF-8'
02.132709.170 Input URI encoding = 'UTF-8'
02.132709.170 Fetched HSTS data from '/home/vs-mango/.local/share/wget/.wget-hsts'
02.132709.170 Fetched HPKP data from '/home/vs-mango/.local/share/wget/.wget-hpkp'
02.132709.170 Fetched OCSP hosts from '/home/vs-mango/.local/share/wget/.wget-ocsp_hosts'
02.132709.170 Fetched OCSP fingerprints from '/home/vs-mango/.local/share/wget/.wget-ocsp'
02.132709.170 set_exit_status(0)
02.132709.170 *url =
02.132709.170 *3 https://foo.***.com
02.132709.170 local filename = 'index.html'
02.132709.170 host_add_job: job fname index.html
02.132709.170 host_add_job: 0x5626fc4850c0 https://foo.***.com
02.132709.170 host_add_job: qsize 1 host-qsize=1
02.132709.170 queue_size: qsize=1
02.132709.170 queue_size: qsize=1
02.132709.170 queue_size: qsize=1
02.132709.170 [0] action=1 pending=0 host=0x0
02.132709.170 dequeue job https://foo.***.com
02.132709.170 resolving foo.***.com:443...
02.132709.174 has ***ipv6:443
02.132709.174 has ***ipv4:443
02.132709.174 trying ***ipv6:443...
02.132709.174 GnuTLS init
02.132709.189 GnuTLS system certificate store is empty
02.132709.189 Certificates loaded: 153
02.132709.189 GnuTLS init done
02.132709.189 TLS False Start requested
02.132709.189 ALPN offering h2
02.132709.189 ALPN offering http/1.1
SSL 모드:
openssl s_client ✔ 2m 9s
140269842409280:error:0200206F:system library:connect:Connection refused:crypto/bio/b_sock2.c:110:
140269842409280:error:2008A067:BIO routines:BIO_connect:connect error:crypto/bio/b_sock2.c:111:
140269842409280:error:0200206F:system library:connect:Connection refused:crypto/bio/b_sock2.c:110:
140269842409280:error:2008A067:BIO routines:BIO_connect:connect error:crypto/bio/b_sock2.c:111:
connect:errno=111
오작동하는 특별한 경우에 대한 요약:
- Wi-Fi를 사용 중입니다(핫스팟 사용 가능).
- Manjaro에서 (우분투 작업)
- wget/node-https/wget2 사용(컬 및 브라우저 작업)
답변1
설명하다
문제는 IP 주소를 차례로 확인하려고 시도하는 wget 및 wget2(및 기타 도구)인 것 같습니다. 귀하의 경우, 연결 단계(예: 방화벽/NAT 설정으로 인해) 동안 첫 번째 확인된 IP가 시간 초과될 때까지 "중단"됩니다. wget 및 wget2의 기본 설정은 영원히 기다리는 것입니다.
해결책
이 문제를 "해결"하려면 --connect-timeout=N
(초 단위 N, 예를 들어 분수가 허용됨 1.5
)을 사용하세요. 이 옵션을 ~/.wgetrc (한 줄 connect-timeout = N
) 또는 ~/.config/wget2rc
또는 에 넣을 수 있습니다 XDG_CONFIG_HOME/wget2rc
.
따라서 이는 IPv6과 IPv4의 일반적인 문제가 아니며 차단된 IP로 인해 이 문제가 발생할 수 있습니다. 귀하의 경우에는 조사할 수도 있습니다.왜이런 일이 발생하고 다른 레이어에 고정됩니다.
왜 컬이 걸리지 않습니까?
컬은 IPv6보다 IPv4를 선호합니다.또는컬은 모든 IP에 동시에 연결하고 통신을 위해 첫 번째(아마도 가장 빠른) 연결을 사용합니다.
두 번째 옵션을 읽을 수 있습니다여기.
이것이 괜찮다면 언제든지 기능 요청을 제출해 주십시오.GitLab에서.
답변2
wget https://foo.bar.com -4
그것을 사용하면 효과가 있습니다
스마트폰 핫스팟을 통해 ipv6이 전혀 작동하지 않는 것 같습니다. ipv4를 시도하여 서버에 대한 요청이 작동합니다.
다른 서버는 ipv6으로 구성되지 않은 것 같습니다. 이것이 작동하는 이유입니다.
Wi-Fi를 통해 ipv6을 사용하려고 시도했지만 실패했습니다.
다양한 온라인 ipv6 테스트 도구에 따르면 내 컴퓨터의 ipv6 연결이 제대로 작동하고 있으므로 ipv6 서버 구성이 손상되었다고 가정합니다.
답변3
이유곱슬작품과얻다찾을 수 없음이 비교컬의 제작자가 만든 것입니다. 구현하기 때문이죠행복한 눈알, 클라이언트가 실패한 IPv6 경로 및 프로토콜을 기다리는 것을 방지하기 위해 만들어진 알고리즘입니다.
사람들은 이 관행에 대해 서로 다른 견해를 가지고 있습니다. 장점은 최종 사용자 경험을 향상시킨다는 점이지만, 단점은 네트워크 문제를 숨기고 IPv6 지원을 지연시킨다는 것입니다.
단지 내 예를 들었습니다. 제가 사용하려고 하면IPv4 전용웹사이트 좋아요s3.us-east-1.amazonaws.com그리고곱슬대답은 빠릅니다.
curl -v https://s3.us-east-1.amazonaws.com/
* Trying 64:ff9b::34d8:22a0:443...
* Trying 52.216.29.166:443...
* Connected to s3.us-east-1.amazonaws.com (52.216.29.166) port 443 (#0)
...
< Content-Length: 0
<
* Connection #0 to host s3.us-east-1.amazonaws.com left intact
real 0m0,855s
user 0m0,095s
sys 0m0,008s
알아채다곱슬답변을 시도한 주소 2개도메인 명 시스템, 이것IPv6그리고IPv4하나. 내 경우에는 거기에 도달할 수 없습니다IPv6에 해당하는 주소AAAA 기록을 깨다.
반면에얻다먼저 모두 시도했기 때문에 답변에 더 많은 시간이 걸렸습니다.IPv6반송 주소도메인 명 시스템:
$ time wget --debug https://s3.us-east-1.amazonaws.com/
...
Resolving s3.us-east-1.amazonaws.com (s3.us-east-1.amazonaws.com)... 64:ff9b::34d8:2460, 64:ff9b::34d8:ddc8, 64:ff9b::34d8:fba6, ...
Caching s3.us-east-1.amazonaws.com => 64:ff9b::34d8:2460 64:ff9b::34d8:ddc8 64:ff9b::34d8:fba6 64:ff9b::36e7:8550 64:ff9b::34d8:d170 64:ff9b::34d9:8578 64:ff9b::34d8:3d40 64:ff9b::36e7:aa98 52.216.209.112 52.216.251.166 54.231.170.152 54.231.133.80 52.216.221.200 52.216.36.96 52.217.133.120 52.216.61.64
Connecting to s3.us-east-1.amazonaws.com (s3.us-east-1.amazonaws.com)|64:ff9b::34d8:2460|:443... Closed fd 3
failed: Connection timed out.
Connecting to s3.us-east-1.amazonaws.com (s3.us-east-1.amazonaws.com)|64:ff9b::34d8:ddc8|:443... Closed fd 3
failed: Connection timed out.
Connecting to s3.us-east-1.amazonaws.com (s3.us-east-1.amazonaws.com)|64:ff9b::34d8:fba6|:443... Closed fd 3
failed: Connection timed out.
Connecting to s3.us-east-1.amazonaws.com (s3.us-east-1.amazonaws.com)|64:ff9b::36e7:8550|:443... Closed fd 3
failed: Connection timed out.
Connecting to s3.us-east-1.amazonaws.com (s3.us-east-1.amazonaws.com)|64:ff9b::34d8:d170|:443... Closed fd 3
failed: Connection timed out.
Connecting to s3.us-east-1.amazonaws.com (s3.us-east-1.amazonaws.com)|64:ff9b::34d9:8578|:443... Closed fd 3
failed: Connection timed out.
Connecting to s3.us-east-1.amazonaws.com (s3.us-east-1.amazonaws.com)|64:ff9b::34d8:3d40|:443... Closed fd 3
failed: Connection timed out.
Connecting to s3.us-east-1.amazonaws.com (s3.us-east-1.amazonaws.com)|64:ff9b::36e7:aa98|:443... Closed fd 3
failed: Connection timed out.
Connecting to s3.us-east-1.amazonaws.com (s3.us-east-1.amazonaws.com)|52.216.209.112|:443... connected.
Created socket 3.
Releasing 0x0000560df7694100 (new refcount 1).
...
real 17m29,487s
user 0m0,022s
sys 0m0,013s
즉, 두 도구 모두 각각 또는 를 강제로 사용하도록 하는 옵션 -4
이 있습니다 .-6
IPv4
IPv6