2012-10-17 9 views
11

FirefoxとIEでは完全に正常に読み込まれていますが、Chromeによってブロックされているサイトがあります。 Chromeは混在モードのコンテンツについて不平を言っていますが、すべてのリソースは同じドメイン内の相対URLによってアクセスされます。Chromeは相対URLでhttpsを受け入れていません

私の理解から、相対URLは、ロードされている「メイン」ページと同じプロトコルを使用する必要があります。その場合、次のようなことがあります。

<link href="/assets/css/small.css" title="Small" rel="alternate stylesheet" type="text/css" /> 
<link href="/assets/css/large.css" title="Large" rel="alternate stylesheet" type="text/css" /> 

どちらも相対URLです。ページがHTTPS経由でロードされたとき、私はクロームコンソール(私は私のクライアントのプライバシーのためのドメイン名を変更)から、次を得る:

 

    [blocked] The page at https://www.example.com/Login/ ran insecure 
    content from http://www.example.com/assets/css/small.css. 

    [blocked] The page at https://www.example.com/Login/ ran insecure content from 
    http://www.example.com/assets/css/large.css. 

は、相対URLが要求されたプロトコルを尊重すべきであるという前提で、私が間違っていますか?

UPDATE: また、.jsファイルブロックしているが、同じように参照:

<script src="/assets/scripts/change-text-size.js" type="text/javascript"></script> 

がブロックされている:

 
[blocked] The page at https://www.example.com/Login/ ran insecure content from http://www.example.com/assets/scripts/change-text-size.js. 

別の奇妙なことは、私はビュー・ソースをすればということです問題が発生しているページで、相対URLが表示され、アセット(スタイルシート、.jsファイル)の「リンク」にカーソルを置くと、ツールチップにはhttps:と表示されます。

更新2: .cssファイルには何も記載されていません。ここで、上記の「small.css」ファイルの内容全体は次のようになります。CSS内のリンクは、HTTP画像/リソースを指している可能性が最も高いと思われる

div#content-wrap, 
div#content-one-col 
{ 
    font-size: 65%; 
} 
+0

私は、あなたが与えた情報にあなたが正しいと思います。私たちが直接見ることができる公開サンプルを投稿できますか? – ScottR

+0

もちろん、一般的な例は次のとおりです。http://www.bayerglucofacts.com/最初に国(たとえばドイツ)を選択し、「ログイン」リンクを選択します。残念ながら、英語の「ライブ」の例はありません。 – cmattix

答えて

3

公開している例では、静的アセットがhttpバージョンにリダイレクトされているため、Chromeに不満があります。

たとえば、https://www.bayerglucofacts.com/assets/css/de-de.cssに行くと、http://www.bayerglucofacts.com/assets/css/de-de.cssに302リダイレクトされ、エラーが発生します。

+1

@cmattix - TelerikのフリーツールFiddlerがこのような問題を診断するのに役立つかもしれません。http://fiddler2.com/ – pwdst

+1

Fiddlerは.NETだけですが、@pwdstです。 Chrome自体で、[表示] - > [開発者] - > [JavaScriptコンソール]に移動し、[ネットワーク]タブを選択してhttp://コールを追跡できませんか? – bahmait

+0

この問題がありました。まさに非常に有益な答え – MoMolog

1

+0

cssファイル内では何も参照されていません。 – cmattix

2

私は同じ問題を抱えていました。これは、<base>タグが非SSLバージョンのサイトを指していたためです。

しかし、ScottRが指摘したように、これはCSSがSSL以外のバージョンにリダイレクトしたためです。それは今固定されているようだ - 彼の答えを受け入れることを忘れないでください!

関連する問題