3

Heroku でホストしている Rails アプリ ( https://github.com/ddelruss/loops ) があります。Rails フォームを使用して、ユーザーの Google ID、パスワード、およびドキュメント ID を収集します。これらは、Google ドライブへのログイン、ドキュメント コンテンツのダウンロード、および D3 ビジュアライゼーションとしてのレンダリングに使用されます。すべて正常に動作します-必要に応じてテストします(そして現在のセキュリティを信頼します):

http://young-eyrie-4632.herokuapp.com/

公開されているデモ ドキュメント キーを使用できます: 0AtOGnLq8Mf_ydGtmMmI5UjhEUmlqQ0d6UHFVaWN2TWc

サイトをできるだけ安全に保ちたいので、ユーザー情報は一切保存されません。欠陥は、サイトが現在 http でアクセスされていることです。これは、ユーザー資格情報が Web フォームから暗号化されていない Heroku/Rails に送信されることを意味すると理解しています。

そこで、Heroku が ssl ピギーバックでサポートしている https 経由でアプリにアクセスしたいと考えています。実際、サイトは https:// で読み込まれ、視覚化ページがレンダリングされます。問題は、Google ドキュメントが結果を返さないことです。ログインは成功し、アプリケーション エラーは発生しません (heroku ログによると)...空の結果が返されるだけです。

Google ドライブ ドキュメントから結果を取得するなど、アプリを https 経由で動作させるにはどうすればよいですか? 両方は必要ないことに注意してください。https が機能する場合は、http アクセスを無効にしても問題ありません。

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

ダミアン

4

1 に答える 1

2

http と https の両方でデモ ドキュメントと Hierarchy オプションを使用してアプリを実行しました。HTML を見ると、両方の場合にコンテンツが存在するように見えますが、https の場合には表示されません。つまり、Google は適切にドキュメントを返していると思います。

2 つのケースで生成された HTML を完全に比較したわけではありませんが、ざっと見たところ、http://d3js.org/d3.v2.js /script ノードが存在しないように見えます。 httpの場合はそのままhttpsアクセス。

お役に立てれば。

ピート

2013 年 4 月 25 日更新: Chrome でコンソールの出力を見ると、次のエラーが表示されます。

[ブロック] https://young-eyrie-4632.herokuapp.com/loops/nodesのページで、 http://mbostock.github.com/d3/d3.jsからの安全でないコンテンツが実行されました。

このスクリプトはChromeの「ソース」タブに表示されないことを確認したので、httpsの場合は読み込まれていないと思います. これを https 参照に変更できるかどうか、または Rails が起動時にロードするようにリポジトリに追加する必要があるかどうかはわかりません。それでもhttp://d3js.org/d3.v2.jsへの参照が残っています。それがどこから来ているのかわかりません。

于 2013-04-24T23:08:01.820 に答える