WordPressにXMLRPCで投稿しようとしたら「405 METHOD NOT ALLOWED」エラーになる
XMRPCでWordPressに投稿するプログラム。
ローカルで動かしているGAEの開発サーバーからだと正常に投稿できるのに、GAEにデプロイしたシステムから投稿しようとすると、「405 METHOD NOT ALLOWED」エラーになる。
どこでエラーになっているのかと、WordPressのソースで405を出しているところを全部チェックしたけど、どこも該当しない。
もしかして投稿元のIPアドレス?
WordPressのセキュリティ設定とか調べても該当箇所はない。
ロリポップにログインして管理画面を見ていると、海外アタックガードというところがあった。
≫ 海外アタックガードについて・設定・解除方法 / セキュリティ / マニュアル - レンタルサーバーならロリポップ!
ここで、ブログを動作させているドメインに対しては初期設定では「ガード有効」になっているので「無効にする」をクリック。
GAEからの投稿を試してみたら、あっさり成功。
でも海外アタックガードは有効にしておきたい。
ロリポップの海外アタックガードのマニュアルを見ると、特定のいくつかのURLがブロックされていて、その中に xmlrpc.php がある。
xmlrpc.php を別の名前のファイルにコピー。
$ cp xmlrpc.php hogehoge.php
で、ロリポップの設定で海外アタックガードを有効化する。
GAEから投稿するときに、投稿先URLでコピー先のファイルを指定すると、エラーなく投稿できた。