Nginx 监听 80 和 8080 并进入重定向循环

Nginx 监听 80 和 8080 并进入重定向循环

我花了好几个小时来解决这个问题。

我安装了 varnish 并将端口设置为 80。之后,我将 nginx 虚拟主机文件的 listen 指令从 80 更改为 8080:

listen 8080;

但是,页面被无限重定向。当我检查端口绑定时,我发现一个奇怪的事情是 nginx 同时监听端口 80 和 8080,而 varnish 也在监听 80。

$ sudo lsof -P -n -i :80 -i :8080 -i :443 | grep LISTEN
nginx    8433     root    6u  IPv4 2401466757      0t0  TCP *:80 (LISTEN)
nginx    8433     root    7u  IPv4 2401466758      0t0  TCP *:8080 (LISTEN)
nginx    8436 www-data    6u  IPv4 2401466757      0t0  TCP *:80 (LISTEN)
nginx    8436 www-data    7u  IPv4 2401466758      0t0  TCP *:8080 (LISTEN)
nginx    8437 www-data    6u  IPv4 2401466757      0t0  TCP *:80 (LISTEN)
nginx    8437 www-data    7u  IPv4 2401466758      0t0  TCP *:8080 (LISTEN)
nginx    8438 www-data    6u  IPv4 2401466757      0t0  TCP *:80 (LISTEN)
nginx    8438 www-data    7u  IPv4 2401466758      0t0  TCP *:8080 (LISTEN)
nginx    8439 www-data    6u  IPv4 2401466757      0t0  TCP *:80 (LISTEN)
nginx    8439 www-data    7u  IPv4 2401466758      0t0  TCP *:8080 (LISTEN)
varnishd 8520   nobody    8u  IPv6 2401837251      0t0  TCP *:80 (LISTEN)

据我所知,nginx 应该只监听 8080 端口,而 varnish 应该只监听 80 端口。但是为什么会发生这种情况?

笔记

  • 没有安装任何防火墙,如 ufw。
  • listen 80;任何配置文件中均无任何剩余。
  • 系统是ubuntu
  • nginx 文件夹内不存在任何默认配置文件

答案1

最有可能的是,在基于 rpm 的安装中,您有 /etc/nginx/conf.d/default.conf。它具有默认主机,监听端口 80。最佳做法是修剪该文件,以便进一步的升级不会替换它。

相关内容