0

最近、cloudflare free sslを使用するWebサイトを設定しました。ページングのためにajax呼び出しを使用すると、混在したコンテンツエラーが発生します。なぜなら、それはまだhttp経由で送信されているからです!私はhttpsリダイレクトの手順をここで試してみました:https://docs.microsoft.com/en-us/aspnet/core/security/enforcing-ssl しかし、それはちょうどループで終わってしまい、リダイレクトエラーが多すぎます。Asp.net core cloudflare ssl邪魔されないajaxを使用してブロックされた混合コンテンツ

これは、混在したコンテンツに関連する特定のエラーです:

混在したコンテンツ: のページ「https://www.andysmobilearchery.co.uk/events/は」HTTPS、 の上にロードされますが、安全でないXMLHttpRequestのエンドポイント 「http://www.andysmobilearchery.co.uk/events/index/?page=2&x-requested-with=xmlhttprequest&=1502287619453」を要求しました。 このリクエストはブロックされました。 HTTPS経由でコンテンツを配信する必要があります。

これに対応する修正があるのでしょうか、それともajax関数を削除する必要がありますか?

ご協力いただきましてありがとうございます。

@if (Model.Pager.EndPage > 1) 
{ 
    <ul class="pagination"> 
     @if (Model.Pager.CurrentPage > 1) 
     { 
      <li> 
       <a asp-controller="Events" asp-action="_Index" data-ajax="true" data-ajax-mode="replace" data-ajax-update="#paged-content" asp-route-page="1" data-ajax-method="GET" asp-route-dfrom="@ViewBag.dfrom" asp-route-dto="@ViewBag.dto" asp-route-search="@ViewBag.search">First</a> 
      </li> 
       <li> 
        <a asp-controller="Events" asp-action="_Index" data-ajax="true" data-ajax-mode="replace" data-ajax-update="#paged-content" data-ajax-method="GET" asp-route-page="@(Model.Pager.CurrentPage - 1)" asp-route-dfrom="@ViewBag.dfrom" asp-route-dto="@ViewBag.dto" asp-route-search="@ViewBag.search">Previous</a> 
       </li> 
     } 

     @for (var page = Model.Pager.StartPage; page <= Model.Pager.EndPage; page++) 
     { 
      <li class="@(page == Model.Pager.CurrentPage ? "active" : "")"> 
       <a asp-controller="Events"asp-action="_Index" data-ajax="true" data-ajax-mode="replace" data-ajax-update="#paged-content" data-ajax-method="GET" asp-route-page="@page" asp-route-dfrom="@ViewBag.dfrom" asp-route-dto="@ViewBag.dto" asp-route-search="@ViewBag.search">@page</a> 
      </li>} 

     @if (Model.Pager.CurrentPage < Model.Pager.TotalPages) 
     { 
      <li> 
       <a asp-controller="Events" asp-action="_Index" data-ajax="true" data-ajax-mode="replace" data-ajax-update="#paged-content" data-ajax-method="GET" asp-route-page="@(Model.Pager.CurrentPage + 1)" asp-route-dfrom="@ViewBag.dfrom" asp-route-dto="@ViewBag.dto" asp-route-search="@ViewBag.search">Next</a> 
      </li> 
       <li> 
        <a asp-controller="Events" asp-action="_Index" data-ajax="true" data-ajax-mode="replace" data-ajax-update="#paged-content" data-ajax-method="GET" asp-route-page="@(Model.Pager.TotalPages)" asp-route-dfrom="@ViewBag.dfrom" asp-route-dto="@ViewBag.dto" asp-route-search="@ViewBag.search">Last</a> 
       </li> 
     } 
    </ul> 
} 

は、私は今、気づいたこと、私はうまくこの実装作業を持っている他のサイト(他3!)、私はこのイベントのページで無効にすると、URLへの最後のスラッシュが追加されますasp.netの定型文を使用しています私のレビューページは止まります...私はうんざりしています。

+0

このメッセージのケースの具体的な修正は、コードをXHRコールで 'https://www.andysmobilearchery.co.uk/events/_index/?page=2&x-requested-with=xmlhttprequest&_ = 1502287619453'(つまり、 'http'ではなく' https'をプロトコル部分として使用します)。それを防ぐ何かがありますか? – sideshowbarker

+0

私は控えめなAjaxを使用しています、私はプロトコルのための設定を認識していません。私は私のcshtml/razorを表示するために私の質問を編集します –

答えて

1

私は答えを見つけました。私のアプリで

私は末尾にスラッシュを追加するためのルーティングオプションを持っていた:

.AddRouting(
     options => 
     { 
       // Improve SEO by stopping duplicate URL's due to case differences or trailing slashes. 
       // See http://googlewebmastercentral.blogspot.co.uk/2010/04/to-slash-or-not-to-slash.html 
       // All generated URL's should append a trailing slash. 
       options.AppendTrailingSlash = true; 
       // All generated URL's should be lower-case. 
       options.LowercaseUrls = true; 
     }) 

私はこれが働い無効にすると、しかし、私はこの問題は私の他のサイトで発生していないことを考えると内容ではなかったことがわかりました。最後に私はstartup.csを作業現場からコピーしました。これは問題を修正しました。唯一の違いは、壊れたサイトがスタートアップの部分クラスと残りのスタートアップを構成するファイルを使用することです唯一の相違点はコルス法であったので、私はコルスの必要性がないので、なぜそれがそこにあったのか分からず、それでもそれを壊すべきではない。私はそれが働いているので、それはしばらくの間、謎のままにする必要があります。私がやろうとしていることは、後日、少しずつアプリケーションを再構築することです。私が覚えていれば、私はここで何かの結果を更新するでしょう。

関連する問題