KUSANAGI RoDのWordPressサイトヘルスチェックで致命的な問題

TOP Forums バグ報告と提案(Requests and Feedback) KUSANAGI RoDのWordPressサイトヘルスチェックで致命的な問題

KUSANAGI RoDのWordPressサイトヘルスチェックで致命的な問題

Viewing 3 reply threads
  • Author
    Posts
    • #868
      gontankun
      Participant

        KUSANAGI RoDでプロビジョンした後のWordPressでの問題です。
        WordPressのサイトヘルスチェックにて、解決方法が分からない致命的な問題が2件出ています。

        REST API でエラーが発生しました
        REST API は WordPress や他のアプリケーションがサーバーと通信する手段の1つです。たとえばブロックエディター画面は、投稿や固定ページの表示や保存に REST API を使用しています。
        
        REST API リクエストはエラーのために失敗しました。
        エラー: cURL error 7: Failed to connect to <FQDN> port 443 after 0 ms: Connection refused (http_request_failed)
        サイトでループバックリクエストが完了できませんでした
        パフォーマンス
        ループバックリクエストは予約イベントの実行に使用されます。またテーマやプラグインの組み込みエディターでは、コードの安定性の確認に使用されます。
        
        サイトへのループバックリクエストは失敗しました。現在、依存する機能は想定どおりに動作していません。
        エラー: cURL error 7: Failed to connect to <FQDN> port 443 after 0 ms: Connection refused (http_request_failed)

        対処方法を教えて頂けないでしょうか?

      • #870
        satoru
        Moderator

          これらの現象は、すべて KUSANGI RoDの内部SSLポートが8443で有ることに由来します。

          dockerでは、セキュリティの観点からroot権限でのプロセス実行は避けるべきとされています。KUSANAGI RoDもその基準に則り内部プロセスをユーザ権限で動作させています。80ポートや443ポートは、root権限でのみLISTENできるポートのため、RoDでは8080/8443 を使用し、外部にフォワードするときだけ80/443 に変更しています。

          このため、phpから443 ポートをLISTENしても応答がありません。

          1. REST APIですが、RoD外部からのREST API接続には問題ありません。php自体からのREST APIに問題が発生する可能性があります。しかし、ブロックエディタの挙動を確認すると、特に問題なく編集・投稿できています。
          2. ループバックリクエストは問題があり、予約イベントの実行に失敗することを確認しました。これについては、現時点での機能制限とさせてください。

          将来的には解決予定です。解決時期は未定です。

          • This reply was modified 2 years, 10 months ago by satoru.
        • #872
          gontankun
          Participant

            satoru様、いつも迅速に対応いただきありがとうございます。

            KUSANAGI RoDでは80、443ポートをなぜ使っていないのか疑問に思っていましたが、
            セキュリティ上の問題であえて利用していない旨、理解しました。

            Let’s Encryptとマルチサイトに対応するため、steveltn/https-portal – Docker Hub にて
            リバースプロキシを構成しているのですが、このcomposeファイルでのports設定が
            80:80と443:443になっているので、これも問題だということになりますね。。。

            KUSANAGI MAGAZINEの記事「KUSANAGI RoDの使い方(10)~高速Dockerの話(最終回)~」にて
            Certbotの実用化とPHPの高速化に対応予定とのことでしたが、状況はいかがでしょうか?
            公式にLet’s Encrypt対応して頂けると大変助かります。

          • #873
            satoru
            Moderator

              PHPの高速化に関しては、PHP8.1 + WordPress 5.9 移行を使用することで解決済みです。

              Certbotの使用に関しては、どうしても証明書更新処理をcronなどで実行することになります。docker-compose内ではcronのような運用できないため、どうしてもホスト側での処理が必要になります。
              本番環境で docker-compose で必要かという部分が不透明だった(開発時点では、docker-compose の存続状況が危ぶまれていた)ため、その処理の実装を行っていませんでした。要望があるならば、作成してみようと思います。

          Viewing 3 reply threads
          • You must be logged in to reply to this topic.

          Next article

          フォーラムについて