セキュリティをXML-RPCを無効にすることが望ましいです。 XML-RPCを有効にする必要がある場合は、特定のIPアドレスのみがアクセスできるようにコードを追加することを検討できます。 クラウドウェイズからPHP 8.2にアップグレードした後にXML-RPCが機能しないという問題が発生しました。 xmlrpc.phpページにアクセスすると「ERR_HTTP2_PROTOCOL_ERROR」エラーが発生しました。 この場合、対処方法について見てみましょう。
WordPress XML-RPC接続時に「ERR_HTTP2_PROTOCOL_ERROR」エラーが発生した場合
WordPress サイトからexample.com/xmlrpc.phpにアクセスするときに次のフレーズが表示された場合、通常どおり xml-rpcがアクティブな状態です。
XML-RPC server accepts POST requests only.
このブログでは、.htaccessファイルに次のコードを追加してXML-RPCを無効にしました。
# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
deny from all
</Files>
このブログのxmlrpc.phpファイルにアクセスしようとすると、次のエラーフレーズが表示されます。
403 Permission Denied
You do not have permission for this request /xmlrpc.php
特定のIPアドレスのみを接続しようとするには、「deny from all」行の下に次の形式で行を追加します。
allow from 123.456.78.900
後の数字は、接続を許可するIPアドレスです。
海外のWebホスティングの8.2つであるCloudwaysは、しばらく前にPHP 8.2のサポートを追加しました。 私はPHP 8.2がサポートされていることを確認し、すぐにPHP XNUMXバージョンにアップグレードしました。
ただし、PHP 8.2にアップグレードした後にXML-RPCが機能しないという現象が発生しました。 xmlrpc.phpページにアクセスすると、次のように "ERR_HTTP2_PROTOCOL_ERROR"エラーが発生しました。

この問題が発生した場合は、まずセキュリティプラグインなどでXML-RPCが無効になっていないことを確認してください。 XMLRPCを無効にするプラグインがインストールされている場合は、そのプラグインを無効にすると問題が解決します。 Clearfyなどの最適化プラグインやWordfence、iTheme■Securityなどのセキュリティプラグインでもxml-rpcを無効にするオプションを提供します。
私はプラグインの問題だと思われ、プラグインをXNUMXつずつ無効にしても問題は解決しませんでした。 テーマ Diviテーマに変更した直後でテーマが問題かと思ってテーマを別のテーマに変えても同様にエラーは解決されませんでした。
クラウドウェイズに連絡したら、サーバーのIPアドレスと問題のあるアプリケーション名を教えてください。 するとクラウドウェイズ担当者が問題を解決してくれました。 何が問題だったのか尋ねたら PHPアップデートでxmlrpcが無効になっていることを発見して有効にしましたは答えを聞きました。
What I could observe updating the PHP disabled xmlrpc so I have enabled it.
Cloudwaysでxml-rpcが機能しない場合は、サポート担当者に連絡してサーバー関連の問題がある場合はすぐに解決してください。
クラウドウェイズの場合、アプリケーション設定でXML-RCPが無効になっている可能性があります。次の図のように XMLRPC Accessが無効になっている場合は、有効にしてXMLRPCアクセスが可能になります。

ちなみにクラウドウェイズ加入時のプロモーションコード WPCAFE15を入力すると、3ヶ月間で15%割引(合計45%割引)の特典を受けることができます。
最後に、
冒頭で述べたように、xml-rpcはできるだけ無効にすることがセキュリティにとって望ましいです。 有効にすると、Didos(DDoS)攻撃に悪用される可能性があります。 有効にする必要がある場合は、特定のIPアドレスのみを許可するように.htaccessファイルにコードを追加してください。 IPアドレスはGoogleで「自分のIPアドレス」で検索すると、認定IPアドレスを確認できます。
クラウドウェイズをご利用の場合、PHPバージョンの変更後にこのような問題が発生した場合、カスタマーセンターに連絡して問題を解決します。 PHPバージョンは現在、PHP 8.0以降を使用することがセキュリティ上望ましいです。 私はほとんどのサイトにPHP 8.2を適用していますが、すべて問題なくうまく機能しています。 PHP 8.2でエラーが発生した場合は、PHP 8.1バージョンに下げてエラーが発生しないかどうかを確認してください。
コメントを残す