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

Blazor WASM中Stripe支付成功重定向页面不安全问题求助

问题原因分析

你遇到的NET::ERR_CERT_COMMON_NAME_INVALID错误,核心原因是Stripe重定向的URL使用了www.localhost,但你的开发SSL证书仅针对localhost(不带www前缀)。浏览器会将www.localhost和localhost判定为两个不同域名,证书的通用名称(Common Name)或SAN扩展无法匹配,因此标记页面不安全。

手动访问成功页面正常,是因为你直接访问的是https://localhost:{port}/CheckoutSuccess,这个域名与证书匹配;而Stripe重定向的是https://www.localhost:{port}/CheckoutSuccess,与证书不匹配。

解决方案

1. 移除Domain中的www前缀

修改代码里的domain变量,去掉www.前缀:

// 原代码
string domain = "https://www.localhost:{port}/";

// 修改后
string domain = "https://localhost:{port}/";

这样Stripe生成的SuccessUrl和CancelUrl会指向localhost,与你的开发证书匹配,浏览器就不会触发证书错误。

2. 验证开发证书的SAN扩展(可选)

如果必须使用www.localhost,可以修改开发证书的SAN(Subject Alternative Name),添加www.localhost作为允许域名:

  • 打开Visual Studio的「Tools > Command Line > Developer Command Prompt」
  • 运行以下命令重新生成带多域名的开发证书:
    dotnet dev-certs https --clean
    dotnet dev-certs https --trust -ep "$env:USERPROFILE/.aspnet/https/aspnetapp.pfx" -p "your-password" --subject "localhost" --san "localhost,www.localhost"
    
  • 最后在项目的launchSettings.json中配置使用该证书。

不过开发环境下,直接使用localhost(不带www)是最简便的方案。

3. 清理浏览器缓存和站点数据

修改URL后,清理浏览器的缓存、Cookie和站点数据,避免旧的重定向或证书缓存干扰测试结果。

4. 确认Stripe Session的重定向URL

创建Session后,可以打印session.SuccessUrl确认最终重定向地址是否正确,确保没有其他代码逻辑修改了该URL。

内容的提问来源于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.17 03:52:11