WordPressが異常終了したあとに、アクセスできなくなって、原因が分からず、困った。
結論は、fail2ban のjail にIPが当たっていた。
unban の設定をして問題は解決。
調査の中で、色々引っかかった。
netstat で tcp6 として表示されて、IPv4のポート9000と区別されているような表示となるが、実際は、IPv4のポート9000も、IPv6のポート9000 もオープンされている。
> netstat -tuln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp6 0 0 :::9000 :::* LISTEN
WordPressが正常に稼働している状態でも、php-fpm版では、ホストから直接コンテナ(172.99.0.3)に対して、curl を行っても正常応答は返らない。
curl -I 172.99.0.3:9000
curl: (56) Recv failure: 接続が相手からリセットされました
テスト用に作成したPHPは表示される。DBが壊れている場合などには切り分けになるか?
単純なphp(test.php)を作成して、アクセスしてみる。ネットワーク環境が正しければ、ブラウザでアクセスすると表示される。(nginx などのサーバ経由でのアクセス)
<?php
echo "Hello World"
?>
調査をするときは、コンテナにどんどんツールを入れて、状況を確認をしていった方が早い。
コンテナの再起動等が必要なときは、docker イメージを新たに保存してしまえば良い。
コンテナを一旦抜けて(コンテナを破棄していない状態で)、ホストでコマンドを実行。
解析できたら、元のバージョンのイメージで再度稼働させれば良い。
docker commit <コンテナID> <コンテナイメージ名:タグ名>
docker commit xxxxx wordpress:test
Xserver が お友達紹介割引 で申込みが可能になります。
コメント