如何将localhost:5278绑定到自定义域名实现无端口访问?
解决方法
核心原因
浏览器访问不带端口的域名默认使用80端口,你当前的YARP代理服务未监听80端口,导致必须手动指定5278才能访问。只需让代理服务绑定80端口,配合hosts配置即可实现无端口访问。
具体步骤
1. 修改Blazor Web Server的监听端口
若YARP集成在Blazor Web Server应用中,需让应用监听80端口:
- 打开项目根目录的
launchSettings.json,找到applicationUrl字段,修改为:
或指定域名绑定:"applicationUrl": "http://0.0.0.0:80""applicationUrl": "http://www.mybeautifultestsite.com:80" - 若用命令行启动,执行:
dotnet run --urls=http://0.0.0.0:80
2. 确认hosts文件配置正确
确保域名已正确映射到本地:
- Windows:打开
C:\Windows\System32\drivers\etc\hosts(需管理员权限编辑),添加:127.0.0.1 www.mybeautifultestsite.com ::1 www.mybeautifultestsite.com - Linux/macOS:打开
/etc/hosts,添加同样内容。 - 保存后刷新DNS缓存:
- Windows:执行
ipconfig /flushdns - Linux/macOS:执行
sudo systemctl restart nscd或sudo dscacheutil -flushcache
- Windows:执行
3. 验证YARP配置(当前配置无需修改)
你的appsettings.json已正确匹配目标域名和路径,只要代理服务在80端口运行,访问www.mybeautifultestsite.com时,YARP会自动将请求转发到http://127.0.0.1:5278。
4. 权限注意事项
监听80端口需要管理员/超级用户权限:
- Windows:右键终端或Visual Studio,选择「以管理员身份运行」启动应用。
- Linux/macOS:使用
sudo dotnet run --urls=http://0.0.0.0:80启动应用。
内容的提问来源于stack exchange,提问作者alihank
相关产品推荐
相关产品推荐

