今日の役に立たない一言 - Today’s Trifle! -

古い記事ではさまざまなテーマを書いていますが、2007年以降はプログラミング関連の話がほとんどです。

WordPressにXMLRPCで投稿しようとしたら「405 METHOD NOT ALLOWED」エラーになる

XMRPCでWordPressに投稿するプログラム。

ローカルで動かしているGAEの開発サーバーからだと正常に投稿できるのに、GAEにデプロイしたシステムから投稿しようとすると、「405 METHOD NOT ALLOWED」エラーになる。

どこでエラーになっているのかと、WordPressのソースで405を出しているところを全部チェックしたけど、どこも該当しない。

もしかして投稿元のIPアドレス?

WordPressのセキュリティ設定とか調べても該当箇所はない。

もしかしてWordPressを動かしているロリポップ?

ロリポップにログインして管理画面を見ていると、海外アタックガードというところがあった。

≫ 海外アタックガードについて・設定・解除方法 / セキュリティ / マニュアル - レンタルサーバーならロリポップ!

ここで、ブログを動作させているドメインに対しては初期設定では「ガード有効」になっているので「無効にする」をクリック。

GAEからの投稿を試してみたら、あっさり成功。

でも海外アタックガードは有効にしておきたい。

ロリポップの海外アタックガードのマニュアルを見ると、特定のいくつかのURLがブロックされていて、その中に xmlrpc.php がある。

xmlrpc.php を別の名前のファイルにコピー。

$ cp xmlrpc.php hogehoge.php

で、ロリポップの設定で海外アタックガードを有効化する。

GAEから投稿するときに、投稿先URLでコピー先のファイルを指定すると、エラーなく投稿できた。