私のサーバーにアクセスできませんが、カールは機能します

私のサーバーにアクセスできませんが、カールは機能します

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で

おすすめ記事