.NET Core本地如何测试UseHttpsRedirection配置?
解决ASP.NET Core本地HTTPS重定向测试问题
核心原因
你访问http://localhost:7432报错,是因为这个端口是HTTPS专属监听端口,你的项目并没有在该端口上监听HTTP请求,自然无法响应并完成重定向。
具体解决步骤
1. 配置HTTP监听端口
打开项目根目录下Properties文件夹中的launchSettings.json文件,找到你的项目配置(通常是"profiles"下的项目名称节点),确保applicationUrl同时包含HTTP和HTTPS地址,示例如下:
"applicationUrl": "https://localhost:7432;http://localhost:5000",
这里http://localhost:5000是新增的HTTP监听端口,你可以替换为本地未被占用的任意端口。
2. 确认HTTPS重定向配置(可选)
在Program.cs中,除了app.UseHttpsRedirection();,可手动指定HTTPS端口以确保重定向目标准确,在ConfigureServices中添加:
services.AddHttpsRedirection(options => { options.HttpsPort = 7432; // 对应你的HTTPS端口 options.RedirectStatusCode = StatusCodes.Status301PermanentRedirect; // 可选,指定重定向状态码 });
注意:若launchSettings.json已配置完整的applicationUrl,框架会自动读取端口信息,此步骤可省略,但手动配置能避免端口识别异常。
3. 正确测试重定向
重启项目后,访问你配置的HTTP端口地址(比如http://localhost:5000),此时浏览器应该自动跳转到https://localhost:7432,地址栏会显示HTTPS协议,完成重定向验证。
4. 排查额外问题
- 若仍报错,检查本地防火墙是否阻止了HTTP端口的访问;
- 查看VS调试控制台的输出,确认项目启动时同时打印了HTTP和HTTPS的访问地址;
- 确保没有其他程序占用了你配置的HTTP端口。
内容的提问来源于stack exchange,提问作者cooper_milton
相关产品推荐
相关产品推荐

