配置服务器时候发现的问题,真的是搜肠刮肚的找答案,找一下午,终于找到了答案。

一、开始找原因

在浏览器输入:http://ip,正常的话,会有页面,welcome to nginx 
我这里是浏览器访问失败, 
查找原因:

1、在服务器上访问Ip

执行:curl http://ip 
结果:超时,未连接成功

查看nginxaccess.log日志,发现日志未滚动,代表本机访问不到公网ip

2、确认网络是否可达

telnet 12x.xx.x.xx 80
Trying 12x.xx.x.xx...
Connected to 12x.xx.x.xx.
Escape character is '^]'.
  • 1
  • 2
  • 3
  • 4

这样就说明网络上可达,并且TCP三次握手可以完成,因为能telnet通,排除了网络不通的情况 
但是我本地的网络不通。

3、是否受防火墙安全控制等。

将iptables和selinux关闭 
以下4条命令清除iptables的配置

iptables -F
iptables -F -t nat
iptables -X
iptables -X -t nat
  • 1
  • 2
  • 3
  • 4

setenforce 0 #关闭selinux 
重新远程访问,还是失败。说明不是防火墙的原因。这里因为我是debian,所以默认是没有开启防火墙的,所以不是这个原因。

4、去/var/log/nginx/error.log查看错误日志

日志报错:Address already in use 
这里就已经确认错误在哪了,原来是80端口被占用的问题。

5、解决方案

1)执行:lsof -i:80 查看此时哪个进程正在使用80端口 
我这边发现是阿里云盾正在使用80端口

2)杀掉云盾进程,重启nginx试试 
kill -s 9 pid 
具体参考博客:http://blog.csdn.net/ljfphp/article/details/78666376

6、好吧,惊奇的发现,通过浏览器还是访问不了nginx,但是此刻我的80端口已经被nginx监听了。继续查看错误日志。错误日志并没刷新。

7、百度发现有人说是iptables防火墙的原因,但是debian系统的安装默认是没有iptables,所以应该不是防火墙的原因。

8、看到有人说,是没有备案域名的原因,80端口默认是关闭状态。好吧,我准备改成8080端口,看看能不能行吧。(这个没来得及试)

二、真正的凶手

终于找到问题了,眼泪差点掉下来。原来是阿里云的问题。我刚开通的服务器,没有设置安全组规则。下面给大家演示一下安全组怎么设置。 
1、进入云服务控制台

2、找到安全组,点击进入 
 
3、在默认的一个安全组上,有一个配置规则按钮。点击配置规则 
 
4、这是我原来的安全组规则,没有http的

5、按照如图所示添加

6、浏览器访问ip成功 

nginx公网IP无法访问浏览器的更多相关文章

  1. 阿里云服务器 nginx 公网 IP 无法访问 浏览器

    配置完成 nginx 后, 在浏览器输入:http://ip,正常的话,会有页面,welcome to nginx但是浏览器显示访问失败 主要从两个方面找原因,一个是阿里云的安全组和服务器的防火墙是否 ...

  2. 设置nginx禁止IP直接访问,只能通过指定的域名访问

    nginx的版本是1.2.1. 设置配置文件disableip.conf: server {     listen 80;     server_name _;     return500; } 这是 ...

  3. 服务器部署网站后,公网ip可以访问,域名不能访问问题(稳)

    出现问题 这几天我网站已经部署到vps上,域名也备好案,想使用域名指向我们公网ip.指完发现用域名访问不了网站,但是公网ip可以.于是看了网上资料,好像是要清除浏览器DNS缓存,我清完没用.然后发现我 ...

  4. Nginx禁止IP直接访问网站

    禁止别人直接通过IP访问网站,在nginx的server配置文件前面加上如下的配置,如果有通过IP直接访问的,直接拒绝连接(需要去掉别的server下的default_server). server ...

  5. nginx禁止ip直接访问

    编辑一个noIp.conf放到虚拟目录中 server { listen default; server_name _; rewrite ^ http://www.xxxx.com/; } 其中 ww ...

  6. nginx根据IP限制访问

    nginx有两个模块可以控制访问 HttpLimitZoneModule    限制同时并发访问的数量 HttpLimitReqModule     限制访问数据,每秒内最多几个请求 http{ ## ...

  7. nginx 设置ip地址访问,但是设置域名访问不了

    一.导语 在Nginx的设置过程中,ip地址能正常访问的,但是把ip地址转换成域名,就访问不了了,这个是怎么回事呢?今天来探讨一下 二.设置ip地址做负载均衡 2.1.server端 server { ...

  8. nginx 限制ip/限制访问路径

    一.多站点统一限IP vim nginx.conf allow 127.0.0.1; deny all; # 以上代码解释: # deny all; 限制所有的ip # allow ip; 除了 这个 ...

  9. Nginx 使用IP限制访问来源

    在 server {... 下, 或者在 location xxx {... 下, 都可以添加如下的IP访问限制 allow 10.57.22.172; allow ; allow ; allow ; ...

随机推荐

  1. kettle init

  2. 03-CSS中的选择器

    高级选择器分为: 后代选择器 子代选择器 并集选择器 交集选择器 后代选择器 使用空格表示后代选择器 , 顾名思义  父元素的后代(包括儿子,孙子,重孙子) 中间空格隔开 是后代 .container ...

  3. 深度剖析collections模块

    namedtuple OrderedDict deque tuple defaultdict Counter ChainMap

  4. CSS a 标签样式

    CSS a 标签样式 a:LINK { color: red; } a:VISITED { color: yellow; } a:HOVER { color: green; } a:ACTIVE { ...

  5. Visual C++ Samples-------------Code Project

    https://msdn.microsoft.com/en-us/library/hyds2fy1(v=vs.80).aspx

  6. java Web EL表达式详解

    1.EL表达式的简介 EL表达式是一种JSP技术,能够代替JSP中原本要用Java语言进行显示的语句,使得代码更容易编写与维护.最基本的语法是${express}. 2.获取并显示数据 从四个域中通过 ...

  7. Gym 101128A :Promotions (Southwestern Europe Regional Contest )

    题意 一个公司里有E个员工P个上下级关系.这个公司有一种晋升制度.如果要晋升员工a,那么必须要先晋升a的所有领导.给出一个区间[A,B],如果要晋升A个员工,有哪些员工是一定会被晋升的?如果要晋升B个 ...

  8. C#实现访问网络共享文件夹

    C#实现访问网络共享文件夹,使用 WNetAddConnection2A 和 WNetCancelConnection2A. 在目标服务器建立共享文件夹,建立访问账号test; public enum ...

  9. centos 安装mongodb3.0

    一.添加yum源 vi /etc/yum.repos.d/mongodb-org-3.0.repo 请添加如下配置(64位系统): [mongodb-org-3.0] name=MongoDB Rep ...

  10. Java学习第六篇:集合类

    一.Java集合类框架 Java集合大致可分为Set.List和Map三种体系,其中Set代表无序.不可重复的集合:List代表有序.重复的集合:而Map则代表具有映射关系的集合:从Java5以后,J ...