cloudflare-nginx サーバーですと、こちらのケースと同様と思われます。
http://wordpress.org/support/topic/new-version-13?replies=7
$ curl -i -H 'Content-Type: text/xml' --data '<?xml version="1.0&"?><methodCall><methodName>demo.sayHello</methodName><params></params></methodCall>' 'http://jre655.com/xmlrpc.php'
HTTP/1.1 200 OK
Server: cloudflare-nginx
Date: Fri, 30 Aug 2013 09:55:41 GMT
Content-Type: text/xml; charset=UTF-8
Content-Length: 181
Connection: keep-alive
Set-Cookie: __cfduid=de6db6cbaf5f250ef19de03cdb541733b1377856540869; expires=Mon, 23-Dec-2019 23:50:00 GMT; path=/; domain=.jre655.com
X-Cached: Fri, 30 Aug 2013 09:55:40 GMT
X-CF-Powered-By: WP 1.3.10
CF-RAY: a609b546348018f
<?xml version="1.0" encoding="UTF-8"?>
<methodResponse>
<params>
<param>
<value>
<string>Hello!</string>
</value>
</param>
</params>
</methodResponse>
サーバーの設定にこのリクエストをフィルタリングするようなモジュールが入っていないでしょうか?
(追記: 期待される結果は
http://wordpress.org/support/topic/new-version-13?replies=7#post-4542879
の二つ目のコードです)
NginxおよびPHP-FPM,Perconaの設定はAmimotoのGitリポジトリをベースにして作ってあります。なので、特に問題はないと思われます。
モジュールで問題になるようなものは入ってません(とは断定できませんが…)
一応これらが原因とは思いませんが念の為にこちらにPHPモジュールをリストアップしておきます。
dpkg -l | grep php
ii libphp-adodb 5.15-1 all ADOdb database abstraction layer for PHP
ii php-gettext 1.0.11-1 all read gettext MO files directly, without requiring anything other than PHP
ii php-pear 5.4.9-4ubuntu2.2 all PEAR - PHP Extension and Application Repository
ii php5 5.4.9-4ubuntu2.2 all server-side, HTML-embedded scripting language (metapackage)
ii php5-adodb 5.04-7build1 amd64 Extension optimising the ADOdb database abstraction library
ii php5-cli 5.4.9-4ubuntu2.2 amd64 command-line interpreter for the php5 scripting language
ii php5-common 5.4.9-4ubuntu2.2 amd64 Common files for packages built from the php5 source
ii php5-curl 5.4.9-4ubuntu2.2 amd64 CURL module for php5
ii php5-dev 5.4.9-4ubuntu2.2 amd64 Files for PHP5 module development
ii php5-fpm 5.4.9-4ubuntu2.2 amd64 server-side, HTML-embedded scripting language (FPM-CGI binary)
ii php5-gd 5.4.9-4ubuntu2.2 amd64 GD module for php5
ii php5-imagick 3.1.0~rc1-1build2 amd64 ImageMagick module for php5
ii php5-intl 5.4.9-4ubuntu2.2 amd64 internationalisation module for php5
ii php5-mcrypt 5.4.6-0ubuntu1 amd64 MCrypt module for php5
ii php5-memcache 3.0.7-2 amd64 memcache extension module for PHP5
ii php5-mysql 5.4.9-4ubuntu2.2 amd64 MySQL module for php5
ii php5-snmp 5.4.9-4ubuntu2.2 amd64 SNMP module for php5
ii php5-xmlrpc 5.4.9-4ubuntu2.2 amd64 XML-RPC module for php5
nginx -V
nginx version: nginx/1.4.2
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_gzip_static_module --with-http_stub_status_module --with-http_ssl_module --add-module=/home/(user)/deb/nginx-1.4.1/debian/module/ngx_cache_purge-2.1 -with-http_spdy_module
megumiteam/amimoto|Github
そして、同サーバーで管理している他のサイト(内容がひどいメモサイト、こちらはCloudFlareをかましてません)でもエラーでした。となると、CloudFlareの問題ではないと思われます。
詳細情報ありがとうございます。すいません、以下の情報もいただけますでしょうか。
- Jetpack プラグインは今回のアップデート後に新規追加・連携されましたか?
- 連携に問題のない他のサイトとこのサイトの違いで、原因として思い当たるものはありますか?(プラグイン・テーマ・記事数・その他設定など)
過去に Nginx の似た環境のサイトで初期連携がうまくいかないという例が報告されています。記事数が非常に多いサイトのため、そのあたりに原因があるのではないかという調査中なのですが、上記教えていただけると参考になります。
今回のアップデートでPhotonがおかしくなった(サイズをmediumにしてるのにフルサイズになる)ので、一旦削除してみました。つまり、今回のアップデート後に削除して新規追加、連携しました。
連携に問題の無いサイトWordCampusのようなサイトでは、記事数が少ないのと、プラグインが1/5程度、というところです。それと、管理画面では翻訳が効いてないということです。あと、サーバーがLAMPというところです。
よろしくお願いします。
メモのサイトの方はそこまで記事は多くなさそうですね。
念のため(試されているかもしれませんが)プラグインをオフにして連携を試してみていただけますか。
以下、XML-RPC アクセスに問題が発生することがあるプラグインリストです(他に問題のプラグインが存在する可能性はあります)。
http://jetpack.me/troubleshooting/known-issues/
CloudFlare プラグイン自体は Like ボタンの表示に干渉しますが連携には問題ないはずです。
止めてからもダメでした。
あと、連携の承諾後に、一回502 Bad Gatewayが出て、リロードすると正常に連携されています、が出ます。
nginx.conf
で、この設定の変更をすると何か変わりますか?(server セクション)
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
参考: http://wordpress.org/support/topic/plugin-jetpack-by-wordpresscom-bad-gateway-on-nginx?replies=7
502は出なくなりましたが、未だデバッグではJetPackとは通信できないと出ます。
手を煩わせてすいません。
アクセスログに以下のものがありました
76.74.248.176, 108.162.221.26 – – [31/Aug/2013:14:21:08 +0900] “POST /xmlrpc.php?for=jetpack&rand=2057882416 HTTP/1.0” 200 448 “-” “The Incutio XML-RPC PHP Library”
76.74.248.176, 108.162.221.26 – – [31/Aug/2013:14:21:09 +0900] “POST /xmlrpc.php?for=jetpack&token=iDe%24R%28OR2%5E0BQlZY%2AS3ctqfsa%2AgG%2A%29wL%3A1%3A1×tamp=13779264 69&nonce=YK4v0Ko9DT&body-hash=pdst%2B%2B8gjpsEsdzTGdS19%2BYN3g4%3D&signature=%2BYfstyf hAnk7xVoUClOnJQJCLWg%3D HTTP/1.0” 200 444 “-” “Jetpack by WordPress.com”
これがなにかヒントになればよいのですが…
ありがとうございます。まだ解決に至っておらず、すいません。
こちらの情報を伝えつつ、原因となる可能性のある点を開発者に共有してもらっているという状態です。
ややエッジケースの環境(= Jetpack ユーザーは Apache + MySQL 環境の方が多い)のため、引き続きデバッグにおつきあいいただけると助かります。
現在いただいている情報によると、やはりキャッシュ関係のエラーではないかという開発チームの意見です。CloudFlare キャッシングを一時的に中断してテストしてみることは可能でしょうか。
やはりダメでした。CloudFlareではないのかもしれません…
追加情報です。
JetPackのデバッグセンターでテストすると以下の様にエラーになってしまいます。
SELF:
Array
(
[headers] => Array
(
[server] => nginx
[date] => Wed, 11 Sep 2013 10:09:58 GMT
[content-type] => text/plain;charset=utf-8
[connection] => close
[x-pingback] => http://jetpack.wordpress.com/xmlrpc.php
[expires] => Wed, 11 Jan 1984 05:00:00 GMT
[cache-control] => no-cache, must-revalidate, max-age=60
[pragma] => no-cache
[x-hacker] => Jetpack Test
)
[body] => {"error":"Communication error","error_description":"We were unable to make an XML-RPC request to your website. Please make sure that XML-RPC is turned on and that Jetpack is installed, activated and connected with your WordPress.com account. If the error persists, try disconnecting and connecting Jetpack again."}
[response] => Array
(
[code] => 400
[message] => Bad Request
)
[cookies] => Array
(
)
[filename] =>
)
ですが、こちらにあるプラグインを使用してテストするといずれも200で成功となります。
Site info
SITE_URL: http://jre655.com
HOME_URL: http://jre655.com
TEST: HTTP Connection
Array
(
[headers] => Array
(
[server] => nginx
[date] => Wed, 11 Sep 2013 10:11:59 GMT
[content-type] => text/plain;charset=utf-8
[connection] => close
[vary] => Cookie
[x-pingback] => http://jetpack.wordpress.com/xmlrpc.php
[expires] => Wed, 11 Jan 1984 05:00:00 GMT
[cache-control] => no-cache, must-revalidate, max-age=60
[pragma] => no-cache
[x-hacker] => Jetpack Test
)
[body] => OK
[response] => Array
(
[code] => 200
[message] => OK
)
[cookies] => Array
(
)
[filename] =>
)
TEST: HTTPS Connection
Array
(
[headers] => Array
(
[server] => nginx
[date] => Wed, 11 Sep 2013 10:12:00 GMT
[content-type] => text/plain;charset=utf-8
[connection] => close
[vary] => Cookie
[x-pingback] => http://jetpack.wordpress.com/xmlrpc.php
[expires] => Wed, 11 Jan 1984 05:00:00 GMT
[cache-control] => no-cache, must-revalidate, max-age=60
[pragma] => no-cache
[x-hacker] => Jetpack Test
)
[body] => OK
[response] => Array
(
[code] => 200
[message] => OK
)
[cookies] => Array
(
)
[filename] =>
)
TEST: Self Connection
Array
(
[headers] => Array
(
[server] => nginx
[date] => Wed, 11 Sep 2013 10:12:01 GMT
[content-type] => text/plain;charset=UTF-8
[connection] => close
[x-cached] => Wed, 11 Sep 2013 10:12:00 GMT
)
[body] => XML-RPC server accepts POST requests only.
[response] => Array
(
[code] => 200
[message] => OK
)
[cookies] => Array
(
)
[filename] =>
)
さらに、画像の配置もおかしいです。
こちらから確認できます。