コミュニティ接続がうまくいかない場合

2015年4月9日 at 1:33

初の投稿をさせて頂きます。

先日来はまっていた件が解決しましたので、投稿させて頂きます。

コミュニティ接続を押してもうまくいかない場合は、下記お試しください。

http://独自ドメイン
でcc5731で構築していた所、
管理画面から、
「コンクリート5を拡張」や「テーマをダウンロード」
等何らかコミュニティに初回接続する際に、
通常であれば、ログインの画面がフレーム内に表示されると思います。
が、もし出ない時は、下記のような状態と思います。

コミュニティに接続の画面のまま
空白(つまり何も返答がない状態)

その原因は、SSL接続しているコンクリート5からは、
本国のコミュニティサイトがhttpの為、フレーム内で読み出しができないようで、
Chrome(Sleipir等含む)の右クリックで、「要素の検証」
から、赤い✕マークのついたエラー部分を確認していただき、
http://XXXXX(コミュニティ接続先のアドレス)が表示されていると思うので、
そこをクリックして直接アクセスしていただき、
別ウィンドウでログインしてみて頂ければ、
その後は、接続完了の状態になります。

これで、今のところプラグインも、テーマもダウンロードできております。

タグ:

Re: コミュニティ接続がうまくいかない場合

2015年4月10日 at 10:10
情報ありがとうございます!
 

Re: コミュニティ接続がうまくいかない場合

2015年4月10日 at 10:34
concrete5 開発元にフィードバックさせていただきました。
http://github.com/concrete5/concrete5-5.7.0/issues/2204
直してくれるかな・・・。

ありがとうございます。
 

Re: コミュニティ接続がうまくいかない場合

2015年4月10日 at 10:42
この事象ですが、ssl通信を始めるにあたって、公式認証局の証明書じゃないけど続けますか?
と、ブラウザー側が警告するステップで止まっているので、concrete5の問題ではないかと...

xamppやMAPMで自己証明書で静的なサイトを作っても、この警告ステップで、ブラウザーの表示は一度止まるのと、同じだと思います。
 

Re: コミュニティ接続がうまくいかない場合

2015年4月10日 at 10:51
いや、報告先の GitHub にキャプチャを貼ってますが。

エラー文は
「This request has been blocked; the content must be served over HTTPS」

と、マーケットプレイスへの iframe のアクセスは HTTPS でないからブロックしたというエラーなので、エラー文を見る限りは、証明書が公的ではないという問題ではないですね。報告者様のレポートであっていると判断してます。
 

Re: コミュニティ接続がうまくいかない場合

2015年4月10日 at 11:11
失礼しました。
(GitHubのキャプチャーも参照させていただきました)

確かに、公式認証局かどうかの問題ではないです。

https通信なのに、一部がhttp通信である為に警告がでるのは、
concrete5(プログラム)の問題ではないと思います。
唯一対応できるとしたら、通信プロトコルを見て、
httpsで接続できるサイトも用意する事位ではないでしょうか?
 

Re: コミュニティ接続がうまくいかない場合

2015年4月10日 at 13:22
はい。

ですので concrete5.org のマーケットプレイスとの接続を SSL 化することを PortlandLabs に対応をお願いしなければいけません。

また、concrete5 のプログラム自体でも、サイトが SSL 接続をされていたら、SSL で通信をするようにリクエストを生成しなければいけないので、プログラムの修正も必要です。

なので concrete5 の問題と言われれば問題ですね。まあでも重要度は低いかも。


ただ

・Google が全サイト SSL を推奨している
・一応優勝アドオンのライセンスなどのやりとりもしているので、サイト認証などの通信もSSL暗号化したほうが良い

という理由もあるので、優先順位は低くない課題として捉えてもいいと思います。
 

Re: コミュニティ接続がうまくいかない場合

2015年4月10日 at 17:01
本家はSSLに対応してたはず。
問題はコンクリ自体がhttpで接続しようとしてしまうということだったはず。
 

Re: コミュニティ接続がうまくいかない場合

2015年4月10日 at 21:49
問題はコンクリ自体がhttpで接続しようとしてしまうということ


確かに、
/concrete5.7.3.1/concrete/config/concrete.php
で、セキュアサイトも定義されていたので、
/concrete5.7.3.1/concrete/src/Marketplace/Marketplace.php

上記を修正すれば、直りそうです。
検証していませんが、こんな感じで・・・

35,40c35
< if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on')
< {
< $url = Config::get('concrete.urls.concrete5_secure') . Config::get('concrete.urls.paths.marketplace.connect_validate') . "?csToken={$csToken}&csiURL=" . $csiURL . "&csiVersion=" . APP_VERSION;
< } else {
< $url = Config::get('concrete.urls.concrete5') . Config::get('concrete.urls.paths.marketplace.connect_validate') . "?csToken={$csToken}&csiURL=" . $csiURL . "&csiVersion=" . APP_VERSION;
< }
---
> $url = Config::get('concrete.urls.concrete5') . Config::get('concrete.urls.paths.marketplace.connect_validate') . "?csToken={$csToken}&csiURL=" . $csiURL . "&csiVersion=" . APP_VERSION;
 

Re: コミュニティ接続がうまくいかない場合

2015年4月24日 at 14:27
ありがとうございます!
基本的には、これで解決しました。

一部、ロゴとか、テーマによってはgoogleフォントなどを使っているケースの場合、
接続ができないなどのエラーが出ているケースがあり、
其の際は、テーマ内のフォント参照URLのhttp://Googleフォントのアドレスを全置換でhttpsに変えて対応しました。

また、管理画面内で、テーマやプラグインのアイコンをURL指定でhttpで読みに行っている場合もあるようで、これも修正しました。

やはり、一括でhttps対応できれば最高なのですが。。。