この質問は誰かにとって簡単で、私にとっては面白い状況になると思います。混合コンテンツjQuery ajax HTTPSリクエストがLaravelでブロックされました
私はLaravel 5.3サイトを持っており、さまざまなページにajaxリクエストがあります。 csrf_field()
機能を使用しているため、正常に動作します。
しかし、Ajaxは、このエラーを生成します1ページがある:私はこのエラーに関する記事のトンを読んだ
var relUrl = '/fb/json/';
var payload = {
levelType: levelType,
id: id,
aggLevel: aggLevel,
start: start,
end: end
};
console.log(relUrl);
return $.ajax({
type: 'GET',
dataType: 'json',
data: payload,
url: relUrl,
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
:
Mixed Content: The page at 'https://example.com/fb/reports' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://example.com/fb/json?levelType=&id=&aggLevel=ad&start=&end='. This request has been blocked; the content must be served over HTTPS.
私のjavascriptのは、このようになりますが。私は、httpsのURL全体に相対URLを変更する、または2つのスラッシュで開始するなど、たくさんの提案されたソリューションを試しました。
私はLaravelルートが動作する方法を変更しようとしましたが、現在はクエリ文字列のパラメータを使用しています。
私は以下のすべての記事を研究しました。
また、この1つのajaxクエリはサイトのパスワード保護された部分にあるため(の作業がサイトの公開/公開されている)、私はおそらくそれが問題。しかし、私はSSH
を使ってプロダクションサーバにログインし、vim
を使用して認証が必要な行を一時的に削除し、httpsエラーはまだになります。
ここからさらにデバッグするための手順はありますか?私のCloudwaysサーバーではどのようなログを表示できますか?
Cloudflareが干渉している可能性のあるものはありますか(他のajaxクエリはすべてhttps上で動作するため疑いがあります)。
ありがとうございます!
- jQuery AJAX Request to HTTPS getting served to HTTP with Laravel and Select2
- This request has been blocked; the content must be served over HTTPS
- Mixed content issue - insecure XMLHttpRequest endpoint
- XHR response blocked by Chrome, because of mixed content issue (http/https)
- Forcing AJAX call to be HTTPS from HTTPS Page
- MixedContent when I'm loading https page through ajax, but browser still thinks it's http
- jQuery ajax won't make HTTPS requests
- Laravel 5.1 ajax url parameter is url
これまでに解決しましたか?私は今それを扱っている。 – user1167442
はい。私の最初の行を見てください。末尾のスラッシュを削除すると固定されました。だからこれが受け入れられた答えです。がんばろう。おかげさまで – Ryan
私たちはそれを解決した。それは後続のスラッシュを削除していましたが、Apacheもスラッシュを追加するために何かをしていました。私たちの場合、それはやや狂気でした。 – user1167442