C++ TinyWebServer 项目在云服务器上运行不了 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tracker647
V2EX    C++

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

  •  
  •   tracker647 2022-08-20 23:20:39 +08:00 2800 次点击
    这是一个创建于 1147 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    第 1 条附言    2022-08-21 13:20:54 +08:00

    尝试了下Telnet发请求直接返回error: image-20220821122719691

    浏览器打开界面及日志如下: image-20220821122749275

    字数限制想直接用图片,奈何SMMS抽风死活都是ECONNRESET 枯了

    2022-08-21 12:29:25.646066 [info]: timer tick 2022-08-21 12:29:30.401103 [info]: deal with the client(103.xxx.xxx.xxx) 2022-08-21 12:29:30.401189 [info]: adjust timer once 2022-08-21 12:29:30.401374 [info]: GET / HTTP/1.1 2022-08-21 12:29:30.401403 [info]: Host: 47.xxx.xxx.xxx:9006 2022-08-21 12:29:30.401414 [info]: Connection: keep-alive 2022-08-21 12:29:30.401423 [info]: Cache-Control: max-age=0 2022-08-21 12:29:30.401432 [info]: oop!unknow header: Cache-Control: max-age=0 2022-08-21 12:29:30.401442 [info]: Upgrade-Insecure-Requests: 1 2022-08-21 12:29:30.401456 [info]: oop!unknow header: Upgrade-Insecure-Requests: 1 2022-08-21 12:29:30.401466 [info]: User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36 2022-08-21 12:29:30.401477 [info]: oop!unknow header: User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36 2022-08-21 12:29:30.401487 [info]: Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 2022-08-21 12:29:30.401501 [info]: oop!unknow header: Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 
    第 2 条附言    2022-08-21 13:21:09 +08:00
    2022-08-21 12:29:30.401510 [info]: Accept-Encoding: gzip, deflate
    2022-08-21 12:29:30.401519 [info]: oop!unknow header: Accept-Encoding: gzip, deflate
    2022-08-21 12:29:30.401532 [info]: Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7
    2022-08-21 12:29:30.401540 [info]: oop!unknow header: Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7
    2022-08-21 12:29:30.401573 [info]: deal with the client(103.xxx.xxx.xxx)
    2022-08-21 12:29:30.401614 [info]: adjust timer once
    2022-08-21 12:29:30.401698 [info]: close fd 16
    2022-08-21 12:29:30.646123 [info]: timer tick
    第 3 条附言    2022-09-17 22:33:19 +08:00
    8.21: 问题解决。
    把问题发给舍友帮忙测试服务器,发现除了 Chrome 以外的其他浏览器能够打开项目页面,才发现是 Chrome 缓存的问题,原理是一个地址如果几次都打不开就会被缓存记录,下次打开就会被直接重置,清空后页面就能正常显示了。
    15 条回复    2022-08-22 15:43:05 +08:00
    BrettD
        1
    BrettD  
       2022-08-20 23:22:36 +08:00 via iPhone
    Telnet 手敲一个 HTTP 请求看返回什么
    Nemodontcry
        2
    Nemodontcry  
       2022-08-21 10:56:17 +08:00
    "浏览器显示不了界面" 具体是报什么错?或者看一下 log , 看一下服务初始化有没有错误
    SupperMary
        3
    SupperMary  
       2022-08-21 11:30:30 +08:00
    云服务器自己访问自己看看, curl -v http://xxxxx 这样,如果能通应该是云服务器商直接拦截掉了
    tracker647
        4
    tracker647  
    OP
       2022-08-21 13:21:36 +08:00
    @BrettD 尝试下 Telnet 发请求直接返回 error:
    tracker647
        5
    tracker647  
    OP
       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
        6
    BrettD  
       2022-08-21 13:25:06 +08:00 via iPhone
    在服务器本地请求 127.0.0.1:9006 试一下
    tracker647
        7
    tracker647  
    OP
       2022-08-21 13:30:10 +08:00
    @Nemodontcry 附言有 log
    Nemodontcry
        8
    Nemodontcry  
       2022-08-21 13:54:00 +08:00
    @tracker647 看起来像是被云服务器拦了,再看看安全组策略?我之前在阿里云的服务器上跑过 TinyWebServer ,配置正确可以正常访问的
    tracker647
        9
    tracker647  
    OP
       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
        10
    V1Eerie  
       2022-08-21 18:57:53 +08:00
    一个猜想,服务器以及域名相关的没备案,被你的服务器提供商拦了。
    tracker647
        11
    tracker647  
    OP
       2022-08-21 19:15:10 +08:00
    测试了 8080 和 9006 两个端口,一个没搞安全组和防火墙,另一个两个都搞了,结果 8080 的端口范围显示超时,9006 的端口显示连接已重置。
    Portlet0
        12
    Portlet0  
       2022-08-21 22:13:12 +08:00 via Android
    国内默认封禁相关端口,需要先备案
    jones2000
        13
    jones2000  
       2022-08-21 23:14:17 +08:00
    发工单,问云服务商。
    qwq11
        14
    qwq11  
       2022-08-22 01:57:20 +08:00 via Android
    国内服务器没备案之前好像 HTTP 都不给通,浏览器访问按理说应该跳转到一个提示你没备案的页面

    我晃了一眼看到你收藏夹里有个『百度 - 百度搜索』
    cooldaddy
        15
    cooldaddy  
       2022-08-22 15:43:05 +08:00 via Android
    直接用 ip (非域名)且不是 80 的话,按理说不会被拦的吧
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5206 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 09:25 PVG 17:25 LAX 02:25 JFK 05:25
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86