能ping通,http请求不通

简介: 昨天发生了一件很乌龙的事情,也不是很高深的原理,但是还是很好玩~故事背景:一个哥们(非技术)说他手头有一台某某云的主机,不知道怎么用,跑过来问我,说让我给他搭个能跑php的环境,我原以为那很简单,lnmp下载完了自己自动安装就好了,没想太多,于是经过漫长的等待,lnmp成功安装好了,并做了一个简单的nginx配置,看看能不能通过ip直接访问。

昨天发生了一件很乌龙的事情,也不是很高深的原理,但是还是很好玩~


故事背景:

一个哥们(非技术)说他手头有一台某某云的主机,不知道怎么用,跑过来问我,说让我给他搭个能跑php的环境,我原以为那很简单,lnmp下载完了自己自动安装就好了,没想太多,于是经过漫长的等待,lnmp成功安装好了,并做了一个简单的nginx配置,看看能不能通过ip直接访问。


然鹅:

通过云服务商提供的弹性ip直接访问不管怎么访问都是访问不同,并且能看出http握手并不成功

fa462ab9e7f7326ca62f65af76a322fe3c3f73b8

这个是怎么回事呢,然后通过ping工具ping这个ip是通的,但用telnet去测试这个ip的80端口时发现仍然无法成功握手,难道是80端口没有开启,或者防火墙?

ecf9695e6bff91ab1d3b5c8ea448c6bac0c895d3

结果发现80是开启的,关闭防火墙之后,仍然无法访问...那这下只有一个地方:安全组(可能还有其他地方,大佬们可以科普下)没设置,可是当我添加完规则之后,发现结果仍然是一样的,无法访问,这下,我就真没辙了,我不知道我的操作有什么问题,即便是nginx有问题,那也会报nginx的错误,这个连握手都没成功,我作为一个不是专业运维的开放实在是没辙了40.gif,只剩最后一招:提工单了,于是提交了工单,写了具体的情况,不到五分钟后,客服人员打电话来了:

      “您好,您的云服务器还没有备案,所以80,8080,443这些端口时没法使用的”

      “嗯嗯好的,谢谢(Orz我去年买了个表)”

于是,这场闹剧,最终以乌龙的方式结尾,让人哭笑不得,不过既然运营人员说了,我就要猜一下:是所有http请求都无法到达服务器还是只是这几个特定的端口无法使用呢?我灵机一动既然如此,那我就不用你的80端口,我在安全组里开了一个4396的端口(7就完事了),然后在服务器上安装了docker,安装过程中还有点小问题,上一篇文章中做了说明,拉取了nginx镜像,把运行的容器的80映射到本机4396上,打开浏览器一访问,结果:6353f5721ab46fac0bba823482c17455ecd8c90e

这就说明云服务商只是限制了常用的网络端口,并没有限制所有请求,不过好玩归好玩,我朝要求备案诸位就老老实实备案好了~~

目录
相关文章
|
17天前
|
Java
java原生发送http请求
java原生发送http请求
|
24天前
|
网络协议 Linux iOS开发
推荐:实现RTSP/RTMP/HLS/HTTP协议的轻量级流媒体框架,支持大并发连接请求
推荐:实现RTSP/RTMP/HLS/HTTP协议的轻量级流媒体框架,支持大并发连接请求
55 1
|
1月前
|
编解码 测试技术 索引
性能工具之 Jmeter 使用 HTTP 请求编写 HLS 脚本
在我们简要介绍了 HLS 协议的基础知识,接下来我们详细介绍一种使用 Jmeter 编写压测 HLS 协议脚本的方法。
73 1
性能工具之 Jmeter 使用 HTTP 请求编写 HLS 脚本
|
1月前
|
JSON 数据格式
第三方系统或者工具通过 HTTP 请求发送给 ABAP 系统的数据,应该如何解析试读版
第三方系统或者工具通过 HTTP 请求发送给 ABAP 系统的数据,应该如何解析试读版
27 0
|
1月前
|
Java Spring
用spring发送http请求
用spring发送http请求
|
7天前
|
安全 Java 网络安全
Servlet 教程 之 Servlet 客户端 HTTP 请求 2
Servlet教程介绍了如何在Servlet中处理HTTP请求,包括获取Cookie、头信息、参数、Session等。方法如:`getCookies()`、`getAttributeNames()`、`getHeaderNames()`、`getParameterNames()`等。还能获取身份验证类型、字符编码、MIME类型、请求方法、远程用户信息、URL路径、安全通道状态以及请求内容长度等。此外,可通过`getSession()`创建或获取Session,并以`Map`形式获取参数。
20 8
|
2天前
|
JSON 数据格式 索引
ES 查看索引的属性的http请求
在 Elasticsearch 中,要查看索引的属性,可以通过发送 HTTP 请求来执行以下操作: 1. **获取索引的映射(Mapping)**: 可以使用 `GET` 请求访问 Elasticsearch 的 `_mapping` 端点来获取特定索引的映射信息。 示例请求: ```http GET http://<elasticsearch_host>:<port>/<index_name>/_mapping ``` 2. **获取索引的设置(Settings)**: 可以使用 `GET` 请求访问 Elasticsearch 的 `_setting
|
3天前
|
JSON 测试技术 API
Python的Api自动化测试使用HTTP客户端库发送请求
【4月更文挑战第18天】在Python中进行HTTP请求和API自动化测试有多个库可选:1) `requests`是最流行的选择,支持多种请求方法和内置JSON解析;2) `http.client`是标准库的一部分,适合需要低级别控制的用户;3) `urllib`提供URL操作,适用于复杂请求;4) `httpx`拥有类似`requests`的API,提供现代特性和异步支持。根据具体需求选择,如多数情况`requests`已足够。
9 3
|
10天前
|
安全 网络安全 开发工具
对象存储oss使用问题之flutter使用http库进行post请求文件上传返回400如何解决
《对象存储OSS操作报错合集》精选了用户在使用阿里云对象存储服务(OSS)过程中出现的各种常见及疑难报错情况,包括但不限于权限问题、上传下载异常、Bucket配置错误、网络连接问题、跨域资源共享(CORS)设定错误、数据一致性问题以及API调用失败等场景。为用户降低故障排查时间,确保OSS服务的稳定运行与高效利用。
33 1
|
1月前
|
JSON 前端开发 数据格式
糊涂工具类真是场景下请求http接口的案例
糊涂工具类真是场景下请求http接口的案例
21 0