現在、奇妙な問題が発生しています。ポート 80 では何も実行されていません。
まだ curl は 404 ページが見つかりませんと表示します。ポート 80 に telnet でき、ポート 80 (ホスト) を公開するコンテナーを起動することもできます。しかし、コンテナーにリクエストが届きません。
何が起こっているのか分かりますか? これをデバッグするにはどうすればいいですか?
$ netstat -tulpn | grep :80
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN -
tcp6 0 0 :::8000 :::* LISTEN -
$ curl localhost
404 page not found
答え1
内部NATリダイレクトを疑うマシューのコメントに加えて
iptables -vnL -t nat
またはnft list ruleset ip
おそらく、ポート 80 を直接検査できるでしょう。これを行う方法のいくつかを以下に示します。
ss -4tlnp -o state LISTENING '( sport = :80 )'
lsof -i:80
- 詳細なtcpdumpを実行する
- nmapで詳細なポートスキャンを実行する
- または、curlでテストするときにさらに明示的に、つまり
curl -v http://localhost:80