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

树莓派Nginx绑定80/443端口不生效,请求技术支持

解决Nginx绑定80端口配置不生效的问题

1. 排查Nginx默认配置冲突

Nginx默认会加载/etc/nginx/sites-enabled/default这类默认配置文件,里面可能已经有监听80端口的server块,优先级高于你自定义的配置。

  • 执行以下命令查看所有监听80端口的server配置:
    sudo nginx -T | grep -A 20 "listen 80"
    
    若发现默认配置存在,直接删除该文件后重启Nginx:
    sudo rm /etc/nginx/sites-enabled/default
    sudo systemctl restart nginx
    
    或者修改默认配置的root路径为你指定的/home/admin/code/minikube。

2. 检查端口转发与其他占用服务

删除80端口配置后仍返回404,说明有其他进程或规则在处理80端口的流量:

  • 查看iptables的NAT转发规则:
    sudo iptables -t nat -L -n
    
    若存在80端口转发到其他端口的规则,清理对应规则。
  • 排查树莓派上的其他Web服务(如Apache、Lighttpd):
    sudo systemctl list-units --type=service | grep -E "(apache|lighttpd)"
    
    发现后停止并禁用:
    sudo systemctl stop apache2
    sudo systemctl disable apache2
    

3. 确认自定义配置文件被正确加载

确保你的配置文件在Nginx的加载目录中(通常是/etc/nginx/conf.d/或/etc/nginx/sites-enabled/),且后缀为.conf。

  • 查看Nginx的配置加载列表:
    sudo nginx -T | grep "include"
    
    若你的配置文件路径不在列表中,手动将其软链接到sites-enabled目录:
    sudo ln -s /path/to/your/config.conf /etc/nginx/sites-enabled/
    

4. 验证文件权限

虽然81端口正常,但80端口可能存在权限差异,检查目标目录及文件的权限:

ls -l /home/admin/code/minikube/index.html

确保Nginx运行用户(默认是www-data)拥有读取权限:

sudo chown -R www-data:www-data /home/admin/code/minikube
sudo chmod -R 755 /home/admin/code/minikube

5. 排除客户端缓存干扰

浏览器缓存可能导致错误的404响应,在树莓派本地用curl测试:

curl http://localhost:80

若本地返回正常,清理浏览器缓存后再重新访问。


内容的提问来源于stack exchange,提问作者FabioKaelin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 16:42:23