2012-04-04 5 views
5

this answerで提案されているように、次のコードでHTTPS経由で読み込まれたページにDisqusをロードしています。私は信じている私はhttpsいうよりhttpするembed.jsの要求を変更した、と私はあまりにもリクエストの最後に?httpsを追加しましたすべてのリクエストでDisqusにHTTPSを強制的に使用させるにはどうすればよいですか?

<div id="disqus_thread"></div> 
    <script type="text/javascript"> 
     var disqus_shortname = 'our-shortname'; 
     (function() { 
      var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; 
      dsq.src = 'https://' + disqus_shortname + '.disqus.com/embed.js?https'; 
      (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); 
     })(); 
    </script> 

注、HTTPSを強制することになっています。

最初のリクエストはHTTPS経由で予定されていますが、HTTP経由で二次リクエストを行います。Chrome is hating(赤い十字アイコンが表示されます)。クロームコンソールから

The page at https://our-website.com/blog-post-name ran insecure content from http://juggler.services.disqus.com/event.js?thread=635675380&forum=our-shortname...[long query string] 

これはディスカスは、すべての要求でSSLを使用して取得するための正しい方法であり、または私はステップを逃しましたか?

ありがとうございました。

答えて

6

これはDisqus自体の中で問題に見えます。私たちは、DispusをDrupalサイトのいくつかのサイトで同じ手法でSSLを使ってうまく動作させましたが、最近Disquusが説明したように、IEとChromeの両方でSSL警告が発生し始めました。

私は少し掘り下げましたが、embed.jsで定義され、thread.jsで呼び出されたDISQUS.useSSL関数がいくつかのURL(具体的には["disqus_url"、 "realtime_url"、 "uploads_url" ])をDisqus json settingsオブジェクトに設定します。httpsが設定に含まれている場合は、そのURLのhttpをhttpsに置き換えます。 juggler_urlは同じ扱いを受けませんので、SSL経由で読み込むように更新されていません。私はジャグラーの目的が何であるか分かりませんが、URL(http://juggler.services.disqus.com/)はSSLを介してロードされないため、URLがhttpsに変更されたとしても、それでも動作しません。

Disqusはこれまでにこの作業を行っていたので、おそらく最近の変更を加えましたか?

ApaprentlyディスカスはSSLをサポートしていない新しいサービスを開始しました:私たちは、これが私たちの最後の設定の問題ではありませんので、...

UPDATE、彼らとこれを取っています。これは安全でない状態で読み込まれる余分なスクリプトを生成し、セキュリティの警告を引き起こします。 Disqusは特定のアカウントのこの新しいサービス(名前を教えてくれなかった)を無効にしました。そして、SSLはもう一度期待どおりに機能します。だから、解決策はあなたのアカウントをSSLに準拠させるように頼むことだけです。それはそれを処理する必要があります。

+0

あなたの研究を共有していただきありがとうございます。 Disqusに何らかの回答がある場合は、私たちに連絡してください。 – doctororange

+0

私は解決策で上記の答えを更新しました... – stockli

+0

私たちは作業を開始したようですので、問題が修正されてから期待しています。再度、感謝します。 – doctororange

1

私は過去数ヶ月間この問題を繰り返しており、Disqusを完全に無効にしてしまっています。最初はDisqusに連絡して、スイッチで非SSl準拠の機能を無効にすることができるかどうかを確認しましたが、この機能はしばらく働いていましたが、混合コンテンツの問題は再発し続けました。

Disqusがhttpsバージョンのcount.js javascriptを強制しているにもかかわらず、何らかの理由でcount.jsがsecurecdn.disqus.comではなくmediacdn.disqus.comにリダイレクトされているようです。プラグインエディタでhttpsを手動で追加して、securecdn.disqus.comへのリダイレクトを強制すると、CDNへの最初の呼び出しでは問題はなくなりますが、その後の問合せ文字列「https」がカウントに追加されたCDNへの呼び出しで問題は消えます。 jsコールの場合、リダイレクトはmediacdn.disqus.comに戻ります。私はこれを何度も試みました。

この問題に関する迷惑な点は、混在コンテンツ通知を作成している自分のサイトの問題のSSLページにコメントセクションがないことです。だからDisqusはページ上で不必要にそのJavaScriptを読み込んでいます。

私はDisqusを好きですが、私には、ユーザーがjavascriptを選択的に無効にできるようにするか、すべての場合に機能する安全なcdnバージョンを実装することでこの問題を解決できないと信じられません。私は彼らがこれを理解することを望んでいる。

また、彼らはDisqus 2012がHTTPSをサポートしていないと言っていました(将来的には)。ソリューションを渡し、この記事で、発見

2

http://help.disqus.com/customer/portal/articles/542119-can-disqus-be-loaded-via-https-

は、基本的にはDisquss 2012(まだ)ことはできませんが、それをオフにして、HTTPSを使用するように、埋め込みsrcを変更://と追加しますか? https param:

dsq.src = 'https://' + disqus_shortname + '.disqus.com/embed.js?https'; 
+1

この方法を使用すると、http、https、および新しいクライアントからの投稿が許可されることを確認しましたか?私はちょっと後悔してしまったので、ちょうどこのように見える。その後、最初のDisqusエラーをユーザーに報告させました。私は、これが原因だと恐れて、変更を取り消しました。それはなかったかもしれない、私は知らない。それは*働くように見えた*。 –

関連する問題