美文网首页
curl请求失败

curl请求失败

作者: Letcos | 来源:发表于2020-05-22 19:22 被阅读0次

    概述

    OTA上传场景,脚本需要使用curl请求服务器的一个接口传递信息.但是在源码服务器上一直卡在请求阶段,本地机器却可以请求成功.

    分析解决

    背景信息

    主机IP信息:

    OTA服务器IP地址:10.10.7.40
    源码服务器地址:10.10.7.83
    本地地址:10.10.9.68 
    

    请求:

    curl -d "newtime=$timestamp&number=$1&md5=$md5"  https://niot.com:8091/api/edition/firmwareedition_add
    

    源码服务器请求

    % Total % Received % Xferd Average Speed Time Time Time Current
    Dload Upload Total Spent Left Speed
    0 0 0 0 0 0 0 0 --:--:-- 0:00:25 --:--:-- 0

    一直卡在请求,没有响应;但是本地机器请求是成功.

    使用wget尝试

    本地尝试成功:

    --2020-05-22 17:13:20--  https://niot.com:8091/api/edition/firmwareedition_add
    正在解析主机 niot.com (niot.com)... 10.10.7.40
    正在连接 niot.com (niot.com)|10.10.7.40|:8091... 已连接。
    已发出 HTTP 请求,正在等待回应... 200 OK
    长度: 45 [application/json]
    正在保存至: “firmwareedition_add.1”
    
    firmwareedition_add.1 100%[=======================>]      45  --.-KB/s    用时 0s    
    
    2020-05-22 17:13:20 (9.68 MB/s) - 已保存 “firmwareedition_add.1” [45/45])
    

    源码服务器尝试失败

    --2020-05-22 17:29:01--  https://niot.com:8091/api/edition/firmwareedition_add
    Resolving niot.com (niot.com)... 218.17.115.123
    Connecting to niot.com (niot.com)|218.17.115.123|:8091... 
    

    但是发现本地和源码服务器解析的IP地址不一样;本地机器解析的是内网地址;而源码服务器解析的是外网地址.

    修改hosts

    怀疑是该接口无法从外网访问,于是修改hosts文件.

    /etc/hosts
    
    增加下面一行
    10.10.7.40      niot.com
    

    重新测试发现源码服务器可以访问成功,那就说明确实是外网无法访问该接口.

    所以对于具有外网IP的域名,内部访问最好使用内网IP地址解析.

    相关文章

      网友评论

          本文标题:curl请求失败

          本文链接:https://www.haomeiwen.com/subject/kjycahtx.html