ngnix本地80端口正常可以访问,远程无法访问
1.第一次在digitalocean上配置nginx时
把ipv4中的地址写成了localhost,这个就导致nginx只监听本地的80端口,不会监听远程的请求(可以进入这个网站快捷配置nginx ==> https://www.digitalocean.com/community/tools/nginx)

自动生成的配置文件

执行命令 netstat -utnlp | grep 80 就可以看到

结果就是远程访问不了网页,telnet ip 80 也连不上,但是本地telnet localhost 80可以正常访问并连接
2.正确的配置
ipv4配置一个 * 号,ipv6配置 ::

自动生成的配置文件就是

刷新下nginx的配置,并重启下,就可以发现,ipv4变成了监听本机的所有ip
./nginx -t && ./nginx -s reload

如果没有变过来,就停一下nginx ( ./nginx -s stop),多等一会儿,再执行 ./nginx -t && ./nginx
注:如果对0.0.0.0有疑问,可以看下这篇文章
IP地址 0.0.0.0 是什么意思
在服务器中,0.0.0.0指的是本机上的所有IPV4地址,如果一个主机有两个IP地址,192.168.1.1 和 10.1.2.1,并且该主机上的一个服务监听的地址是0.0.0.0 和端口 8080,那么通过这两个<ip地址:8080>都能够访问该服务
本文介绍在DigitalOcean上配置Nginx时遇到的远程访问问题及其解决方案。错误配置IPv4地址为localhost将导致仅监听本地80端口,正确的配置应使用通配符*。文章还解释了0.0.0.0的意义。
2173

被折叠的 条评论
为什么被折叠?



