本文阐述在局域网中通过IP和端口访问Gitea服务的完整配置步骤及其底层原理。一、修改监听地址步骤编辑Gitea配置文件app.ini路径Linux常见/etc/gitea/app.ini或安装目录custom/conf/Windows为安装目录下的custom\conf\。定位[server]段设置[server] HTTP_ADDR 0.0.0.0 HTTP_PORT 3000保存文件重启Gitea服务Linuxsystemctl restart giteaWindows服务管理器重启。底层原理HTTP_ADDR指定Gitea HTTP服务绑定的IP地址。默认127.0.0.1仅监听本地回环接口外部网络请求无法到达。设置为0.0.0.0表示绑定本机所有可用网络接口包括以太网、WiFi等使得来自任何网卡IP的请求均可被接受。HTTP_PORT定义TCP监听端口默认3000服务在该端口上等待连接。二、配置防火墙入站规则步骤Linux (firewalld)sudofirewall-cmd --add-port3000/tcp--permanentsudofirewall-cmd--reloadLinux (ufw)sudoufw allow3000/tcpWindows在“高级安全 Windows Defender 防火墙”中创建新入站规则类型为端口指定TCP端口3000允许连接。底层原理操作系统防火墙默认过滤入站连接只放行特定服务如SSH、HTTP等或已明确规则。需显式添加允许规则使外部设备能够向服务器的3000端口发起TCP三次握手。规则作用于网络层/传输层控制数据包是否被主机接收。三、调整ROOT_URL参数步骤在app.ini的[server]段设置[server] ROOT_URL http://你的服务器局域网IP:3000/示例服务器IP为192.168.1.100ROOT_URL http://192.168.1.100:3000/保存文件并重启Gitea。底层原理ROOT_URL是Gitea生成绝对URL如页面链接、重定向地址时使用的基础前缀。该参数不影响Gitea实际监听的IP和端口但影响HTTP响应中的Location头部和页面中的超链接。若ROOT_URL仍为localhost或127.0.0.1则登录成功后的跳转地址、克隆URL等会指向localhost导致外部设备无法正常使用这些功能。设置为局域网IP后所有生成的链接均指向该IP确保外部访问的一致性。四、验证访问在同一局域网的其他设备上使用浏览器访问http://服务器IP:3000若能正常加载Gitea页面则配置成功。五、故障排查检查项若访问失败按顺序检查以下技术指标Gitea进程状态确认服务是否正在运行Linuxps aux | grep giteaWindows任务管理器查看进程。实际监听地址执行netstat -tlnp | grep 3000Linux或netstat -ano | findstr 3000Windows确认输出为0.0.0.0:3000或*:3000非127.0.0.1。网络连通性客户端执行ping 服务器IP确认ICMP可达。防火墙规则生效临时关闭防火墙Linuxsystemctl stop firewalldWindows禁用公用防火墙测试是否因防火墙导致如是则重新检查规则配置。Docker部署端口映射若使用容器执行docker ps检查是否映射了-p 3000:3000确保宿主机端口正确转发至容器内部。