curl命令用法 curl命令报错connection refused
答案是DNS解析剧情是报错,院依次排业DNS配置、hosts文档、nsswitch.conf解析服务、systemd-resolved服务及时启动DNS等主机”错误信息,那么说明系统在DNS解析阶段失败,此时没有建立网络连接。这个错误直接指向域名到IP地址转换链路的异常,可能是机器的DNS配置错误导致的,但也可能源于其他多个独立链路。该问题的排查修复路径如下: 1、检查当前DNS服务器配置是否有效。53查询端口,直接触发curl错误 6、1、检查当前DNS配置:cat /etc/resolv.conf 2、确认文件中至少包含一条127.0.0.1的nameserver记录 3、手动测试DNS服务器是否响应:nslookup example.com 8.8.8.8(替换) 8.8.8.8 在任一nameserver中使用resolv.conf)
4、若通话“连接超时”或“服务器无法”找到”,则nameserver不可用,需要立即更换,被DNS配置系统暂时绕过,强制指定分析服务
不修改任何系统文件,仅对单次调用curl有效,可用于快速验证是否为DNS配置问题。 example.com:443:93.184.216.34 https://example.com
2、use--dns-servers 参数强制使用外部 DNS:curl --dns-servers 119.29.29.29 https://example.com
3、如果上述命令成功返回 HTTP 响应,则确认原 DNS 系统配置有误,并检查本地主机中是否存在冲突条目文件。 /etc/hosts
2、检查“127.0.0.1 api.example.com”条目是否存在,且对应的域名当前未定向到本地
3、找到对应行(可能会导致域名被截断)
4、暂时重命名文件并测试:mv /etc/hosts /etc/hosts.bak && curl https://example.com
1、查看分析策略:cat /etc/nsswitch.conf | grep ports
2、标准输出类似于:hosts: files systemd dns
3、输出中不包含dns(例如hosts: files myhostname),则系统不会访问任何nameserver
4、编辑文件,将DNS添加到hosts并保存
5、修改后不需要重启,下一次curl调用将立即启用DNS解析路径五、排战systemd-resolved的服务状态和存根监听行为
p> 在systemd-resolved的现代Linux发行版本中,/etc/resolv.conf通常通过链接到127.0.0.53来表示,该地址被解析为监听。如果解析的进程未运行或配置不正确,则所有 DNS 请求都会失败。 1. 检查服务状态:systemctl is-active systemd-resolved。 grep -E "^(DNS=|FallbackDNS=)"
5、若DNS=英语的空且FallbackDNS未电影,则解决了无这个上游DNS,最师在式动行
