一、问题描述
在调试 ASP.NET Core 项目时,遇到一个很奇怪的问题,不管项目是否已经运行,使用 Postman 测试接口时,都返回 403 Forbidden。重启电脑,刚开始还好好的,过一会儿就返回 403 Forbidden。
二、问题原因
经查询是由于有程序占用了 5000 端口,而 ASP.NET Core 项目默认使用的就是 5000 端口,所以造成了上述问题,可以使用以下命令查询端口占用:
sudo lsof -i tcp:5000
三、解决办法
- 修改应用程序监听的端口
var builder = WebApplication.CreateBuilder(args); builder.WebHost.ConfigureKestrel(options => { // 自定义监听端口 options.ListenLocalhost(Convert.ToInt32(builder.Configuration["host:port"])); });
- 关闭占用 5000 端口的程序
经查询,是一个叫 ControlCe 占用了 500 端口,而该程序为苹果系统程序,隔空播放接收器。我使用的系统为 MAC 14.2.1,可通过 设置->通用-> 隔空投送与接力->隔空播放接收器,关闭即可