You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署.Net7 Blazor WASM至Azure App Service遇防伪造SSL配置错误

问题描述

我正尝试将一个.NET 7 Blazor WASM应用部署到带有自定义域名的Azure App Service中,部署后出现如下错误:

System.InvalidOperationException: The antiforgery system has the configuration value AntiforgeryOptions.Cookie.SecurePolicy = Always, but the current request is not an SSL request.

我的App Service已配置为仅使用HTTPS,且已安装托管SSL证书。

我的相关配置

Startup.cs 中的防伪造功能配置

services.AddAntiforgery(options =>
{
    options.HeaderName = "X-XSRF-TOKEN";
    options.Cookie.Name = "__someCookieName";
    options.Cookie.SameSite = SameSiteMode.Strict;
    options.Cookie.SecurePolicy = CookieSecurePolicy.Always;
});

_Host.cshtml 配置

我的Blazor应用由服务器提供索引页面,而非使用index.razor:

<script src="antiForgeryToken.js" ></script>
    @Html.AntiForgeryToken()

.csproj 配置

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>net7.0</TargetFramework>
    <UserSecretsId>{GUID}</UserSecretsId>
    <DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
  </PropertyGroup>

  <ItemGroup>    
    <PackageReference Include="Azure.Identity" Version="1.9.0" />
    <PackageReference Include="Azure.Security.KeyVault.Secrets" Version="4.5.0" />
    <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="7.0.10" />
    <PackageReference Include="Microsoft.Azure.Cosmos" Version="3.35.3" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="7.0.10" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" PrivateAssets="All" Version="7.0.10" />
    <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="7.0.0" />
    <PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.19.4" />
    <PackageReference Include="OpenIddict.Abstractions" Version="4.7.0" />
    <PackageReference Include="OpenIddict.AspNetCore" Version="4.7.0" />
    <PackageReference Include="OpenIddict.EntityFrameworkCore" Version="4.7.0" />
    <PackageReference Include="OpenIddict.Quartz" Version="4.7.0" />
    <PackageReference Include="Quartz.Extensions.Hosting" Version="3.7.0" />
    <PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="6.32.1" />
    <PackageReference Include="Yarp.ReverseProxy" Version="2.0.1" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\Client\Client.csproj" />
    <ProjectReference Include="..\Shared\Shared.csproj" />
  </ItemGroup>

</Project>

内容的提问来源于stack exchange,提问作者Travis Pettry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 20:42:07