C++ TinyWebServer 项目在云服务器上运行不了

2022-08-20 23:20:39 +08:00
 tracker647

能正常./server 运行,但是浏览器上用服务器公网 Ip+9006 端口打不开,看了下云服务器安全组和防火墙 9006 端口都是开放的,但是浏览器上显示不了界面,telnet 测试了下 9006 端口连通性没问题,不知道怎么搞的。

2193 次点击
所在节点    C++
15 条回复
BrettD
2022-08-20 23:22:36 +08:00
Telnet 手敲一个 HTTP 请求看返回什么
Nemodontcry
2022-08-21 10:56:17 +08:00
"浏览器显示不了界面" 具体是报什么错?或者看一下 log , 看一下服务初始化有没有错误
SupperMary
2022-08-21 11:30:30 +08:00
云服务器自己访问自己看看, curl -v http://xxxxx 这样,如果能通应该是云服务器商直接拦截掉了
tracker647
2022-08-21 13:21:36 +08:00
@BrettD 尝试了下 Telnet 发请求直接返回 error:
tracker647
2022-08-21 13:24:22 +08:00
@SupperMary
curl 看起来能通。。 似乎是云服务器拦截了 那咋办

curl -v 47.xxx.xxx.xxx:9006
* Trying 47.xxx.xxx.xxx:9006..
* TCP_NODELAY set
* Connected to 47.xxx.xxx.xxx (47.xxx.xxx.xxx) port 9006 (#0)
> GET / HTTP/1.1
> Host: 47.xxx.xxx.xxx:9006
> User-Agent: curl/7.68.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Content-Length:586
< Connection:close
<
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>WebServer</title>
</head>
<body>
<br/>
<br/>
<div align="center"><font size="5"> <strong>欢迎访问</strong></font></div>
<br/>
<br/>
<form action="0" method="post">
<div align="center"><button type="submit">新用户</button></div>
</form>
<br/>
<form action="1" method="post">
<div align="center"><button type="submit" >已有账号</button></div>
</form>


</div>
</body>
</html>


* Closing connection 0
BrettD
2022-08-21 13:25:06 +08:00
在服务器本地请求 127.0.0.1:9006 试一下
tracker647
2022-08-21 13:30:10 +08:00
@Nemodontcry 附言有 log
Nemodontcry
2022-08-21 13:54:00 +08:00
@tracker647 看起来像是被云服务器拦了,再看看安全组策略?我之前在阿里云的服务器上跑过 TinyWebServer ,配置正确可以正常访问的
tracker647
2022-08-21 15:10:45 +08:00
@Nemodontcry
就定了一条 TCP ,不知道要不要订其他连接方式,但防火墙上看着 9006 端口 TCP 和 UDP 都好好的

![image-20220821145552008]( https://s2.loli.net/2022/08/21/iLvzWAG7EIKyk84.png)

![Snipaste_2022-08-21_15-10-14.jpg]( https://s2.loli.net/2022/08/21/7SaiQxLEnyWj5mF.jpg)
V1Eerie
2022-08-21 18:57:53 +08:00
一个猜想,服务器以及域名相关的没备案,被你的服务器提供商拦了。
tracker647
2022-08-21 19:15:10 +08:00
测试了 8080 和 9006 两个端口,一个没搞安全组和防火墙,另一个两个都搞了,结果 8080 的端口范围显示超时,9006 的端口显示连接已重置。
Portlet0
2022-08-21 22:13:12 +08:00
国内默认封禁相关端口,需要先备案
jones2000
2022-08-21 23:14:17 +08:00
发工单,问云服务商。
qwq11
2022-08-22 01:57:20 +08:00
国内服务器没备案之前好像 HTTP 都不给通,浏览器访问按理说应该跳转到一个提示你没备案的页面

我晃了一眼看到你收藏夹里有个『百度 - 百度搜索』
cooldaddy
2022-08-22 15:43:05 +08:00
直接用 ip (非域名)且不是 80 的话,按理说不会被拦的吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/874261

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX