Jetpack
Jetpack

Jetpackのパブリサイズ共有でエラー:-32601、さくらのSSL導入が原因

問題

Jetpackのパブリサイズ共有(https://ドメイン/wp-admin/options-general.php?page=sharing)画面で、新規のアカウントと連携が出来ない。
既に連携済みのアカウントは記事を公開した時に正しく記事の共有が出来る。
しかし、新しくアカウントを取ったSNS等と連携しようとした時にエラーが出る。

エラー:-32601
Jetpackのパブリサイズ共有でエラー:-32601

KURUBUSI.netの現在の環境
サーバー さくらインターネット
SSL SNI SSL
wordpress 4.4.2

エラーの原因と対応方法

常時SSLにした関係でエラーが発生するようになったらしい。

SSL化した事自体が原因か、
さくらインターネットの下記の仕様の為に、.htaccessやwp-condfigに変更を加えたことが原因かわかりませんが、一度httpに戻して、パブリサイズ共有をすることで正しくSNSと連携することが出来、投稿した際は正しく各SNSに各投稿が共有されました。

「さくらのレンタルサーバ」にて提供しているウェブサーバApacheは、 80番ポートを使用する(HTTP)ものと、 443番ポートを使用する(HTTPS)ものとの 2種類に分けられます。 また、後者についてはプロクシとして動作します。 一般的に、前者は「http://」、後者は「https://」という形式でアクセスしますが、 同じディレクトリへのアクセスであっても、その際に呼び出されるウェブサーバ が異なると、 CGIプログラムやウェブサーバが.htaccessなどのファイルを読み込む際、挙動に違いが生じます。
例えば、HTTPとしてアクセスした場合はお手元のコンピュータが、 HTTPSとしてアクセスした場合は サーバそのものがアクセス元となります。 このため、SSLのみのアクセス許可(HTTPアクセスの制限)や、mod_rewriteによるURLの書き換えはできません。

ということで一旦httpに戻す

下記に、さくらでSSLでWordPressを使用するために行なった処理を書きましたので、それを一旦元に戻しましょう。

.htaccessの先頭に追加した項目を削除

		<IfModule mod_rewrite.c>
		RewriteEngine On
		RewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$
		RewriteRule ^(.*)$ https://kurubusi.net/$1 [R=301,L]
		</IfModule>
		

コレを削除

wp-config.phpの先頭に追加した項目を削除

		if( isset($_SERVER['HTTP_X_SAKURA_FORWARDED_FOR']) ) {
			$_SERVER['HTTPS'] = 'on';
			$_ENV['HTTPS'] = 'on';
			$_SERVER['HTTP_HOST'] = 'kurubusi.net';
			$_SERVER['SERVER_NAME'] = 'kurubusi.net';
			$_ENV['HTTP_HOST'] = 'kurubusi.net';
			$_ENV['SERVER_NAME'] = 'kurubusi.net';
		}
		

コレを削除

WP管理画面の設定を戻す

WP管理画面の、【設定】【一般】から、
・「WordPress アドレス (URL)」をhttpに戻す
・「サイトアドレス (URL)」をhttpに戻す

これで、httpの時に戻りましたので、この状態でパブリサイズ共有の共有設定を行ったところ、見事に連携が完了。
記事を投稿してみたところ正しく反映してくれました。
Jetpackのパブリサイズ共有でエラー:-32601、さくらのSSL導入が原因

とりあえずhttpsの状態で出来なかったのは、このパブリサイズ共有のSNSとの連携の処理だけだったので、一度連携してしまえばhttpsに戻しても正しく記事は共有できるようです。

ですのでちょっと面倒ですが、上記の.htaccessとかの作業をまたやり直して完了。

ということで解決かどうかわかりませんが、とりあえずはOKという感じですね。。

※エラー:-32601の全ての原因がコレで解消するかどうかは私・わかりません・・

やってみたけどダメだったこと

とりあえず、ネットでパブリサイズ共有エラーに関して調べたところ、情報の多くが「エラー:-32300」だったが、とりあえず多く出てくる情報から、https://ドメイン/wp-admin/admin.php?page=jetpack-debuggerのページで出てくるエラーの対応を行ってみた。

さくら国内IP制限解除
さくらインターネットのサーバー管理画面から「国外IPアドレスからのアクセス制限」を無効化。
というかこんなのあったとは… むしろ最初から無効にしておきたかった…

さくら国内IP制限解除

「Jetpack デバッグセンター」で確認
Jetpackのヘルプから「Jetpack デバッグセンター」というのでデバッグが出来るらしいのでやってみる。
「サイトがJetpackと通信できないようです」と言われる。そんなこと言ったって…

「Jetpack デバッグセンター」で確認サイトがJetpackと通信できないようです

プラグイン全停止
プラグインと干渉している可能性があるのでJetpack以外全停止。
テーマ変更
テーマを「twentyfifteen」あたりに戻してみて再テスト。
Jetpack削除再インストール
Jetpackを削除して再インストールし、Wordpress.comと最ひも付け
WordPress.comの新しいアカウントをとってみる
WordPress.comで新しいアカウントを取って、Jetpackともう一度ひも付けてみた。

まぁダメだった事書いても意味ないかもしれないけどね…
とりあえずエラー:-32601では上記の処理は意味が無いみたい。。。

著者