ブログをhttpからhttpsに移行したらXML-RPCを使ったソフトが機能しなくなった
ブログをhttpからhttpsに移行したら、Google+の投稿を自動でWordPressに投稿するスクリプトが動かなくなってしまった。
何の問題もなく移行できたと思っていたのになんたることだ。
-32300 : transport error - HTTP status code was not 200
どうやらXML-RPCが動かなくなってしまったようだ。
原因としては二つあった。
原因1:ロリポップのWAFによってブロックされていた
以下のように.htaccessに記述することで対応した。
1 2 3 | <IfModule mod_siteguard.c> SiteGuard_User_ExcludeSig ip(<ブロックされた自分のIPアドレス>) </IfModule> |
サポートページではシグネチャ文字列をexcludeするように書いてあるけど、それだけでは防げなかった。
oscmdと認識される時もあるし、xss-tagとかsqlinjectionとかと認識されることもあって、excludeするにはキリがない。
それにシグネチャ文字列が汎用的な名前すぎたので、本当に攻撃された時に防げない不安もある。
かといってIPアドレスも動的なものだから、いつかはまた動かなくなるしなぁ…
なんかいい方法はないものか
原因2:ブログがhttps化した
https化したことで、クライアント側もSSLに対応しないとXML-RPCが動かないらしい。
これを解決するためにはプライベート認証局でSSLクライアント証明書を発行しなければならない。
この手順は割と長いのでこっちの記事でどうぞ。
この記事へのコメントはこちら