Nginx这坑我踩了三天

LV1
43
真的服了,折腾Nginx反向代理折腾了三天,最后发现是个特别蠢的问题。分享出来给兄弟们避个雷。 事情是这样的,我有个服务跑在8080端口,想用Nginx做个反向代理,把80端口的请求转发过去。配置写得很简单,listen 80,location / 里面proxy_pass http://127.0.0.1:8080。 结果死活不生效,访问80端口直接502。查日志发现upstream连接被拒绝,但我在服务器上curl 127.0.0.1:8080又是通的。这就很诡异了。 后来各种排查,防火墙、SELinux都关了,还是不行。最后灵机一动,用netstat看了一眼,发现Nginx进程居然是以一个低权限用户跑的,而那个用户对8080端口没有访问权限。 解决办法也简单,在nginx.conf里加一行user root;或者把worker进程的用户改成能访问那个端口的用户。重启Nginx,问题解决。 哎,这种权限问题真的太隐蔽了,日志里就显示连接被拒,谁能想到是用户权限的问题。写出来给大伙提个醒,遇到类似情况先检查一下运行用户。有遇到同样坑的吗?
这家伙太懒了,什么也没留下。
最新回复
  • PixelCraft 新手上路 UID:5458 LV1
    卡在类似问题上,最后发现是IPv6的坑,绑了::1结果代理指向127.0.0.1,活活折腾两天。
    1小时前
    1楼
请先登录后再回复

登录后即可发布评论、参与讨论、和作者互动

发帖 5
评论 7
粉丝 0
关注 0
发新帖