ネットワーク基礎4 択難易度 応用

状況

社内から外部へは、プロキシ proxy.example.jp:8080 を経由しないと出られない。社内 PC のブラウザ(プロキシ設定済み)では https://api.example.com/ を開けるが、同じ PC のターミナルの curl だけが失敗する。

最も疑わしい候補は?

  1. Aapi.example.com のサーバー証明書
  2. Bターミナルにプロキシの設定(https_proxy など)が無い
  3. Capi.example.com の DNS レコード
  4. DAPI サーバー側のファイアウォール
$ curl -v https://api.example.com/*   Trying 203.0.113.50:443...* connect to 203.0.113.50 port 443 failed: Connection timed out

正答

  1. D
  2. C
  3. B
  4. A

解説

ブラウザからは開けるので、API サーバー本体は動いており、そのファイアウォール(D)もプロキシからの接続は通している。curl の出力では IP が出ているので名前解決(C)も済んでおり、TCP の接続を始めた段階で時間切れになっている。TLS まで進んでいないので証明書(A)も関係がない。プロキシ経由でしか外へ出られないネットワークで、curl が直接相手の IP に接続しようとして社内のファイアウォールに捨てられている、と読むのが最も自然(B)。curl はブラウザのプロキシ設定を読まず、https_proxy などの環境変数か -x を見る。curl -v の出力に「Uses proxy」の行が無いことでも確かめられる。

参考: everything.curl.dev

troubleshootingproxycurlhttps-proxy

この問題を含む ネットワーク基礎 のテストを制限時間つきで解く

ネットワーク基礎クイズへ