
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で動作します。 Ubuntuを実行している他のサーバーでも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を使用しています(ホットスポットが利用可能です)。
- マンジャロから(Ubuntuの仕事)
- wget/node-https/wget2の使用(カールとブラウザの操作)
答え1
説明する
問題は、IPアドレスを順番に確認しようとするwgetとwget2(およびその他のツール)のようです。あなたの場合、接続フェーズ(ファイアウォール/ NAT設定など)の間に最初に確認されたIPがタイムアウトするまで「中断」されます。 wgetとwget2のデフォルト設定は永遠に待つことです。
解決策
この問題を「解決する」には--connect-timeout=N
(秒単位のN、例えば分数が許可されている1.5
)を使用してください。このオプションを〜/ .wgetrc(1行connect-timeout = N
)またはまたは~/.config/wget2rc
に入れることができますXDG_CONFIG_HOME/wget2rc
。
したがって、これはIPv6とIPv4の一般的な問題ではなく、ブロックされたIPが原因でこの問題が発生する可能性があります。あなたの場合は調査することもできます。なぜこれが起こり、他のレイヤーに固定されます。
なぜカールがかからないのですか?
カールはIPv6よりもIPv4を好む。またはカールはすべてのIPに同時に接続し、通信に最初の(おそらく最速の)接続を使用します。
2番目のオプションを読むことができますここ。
これが問題ない場合は、いつでも機能要求を送信してください。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