curl: (56) Recv failure: Connection reset by peer问题汇总和解决方案

这篇具有很好参考价值的文章主要介绍了curl: (56) Recv failure: Connection reset by peer问题汇总和解决方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

这两天正在学习用docker制作tomcat镜像,有一个问题困扰了我3天,可能大家在学习时也会遇到,于是我就单独发一篇文章来解决这个问题。
解决办法我在上一篇文章 Docker进阶篇之DockerFile制作Tomcat镜像,教你如何发布镜像到DockerHub和阿里云 已经详细说明了,这里再说明一次。

问题描述:

[root@wyc tomcat]# curl localhost:9090
curl: (56) Recv failure: Connection reset by peer

curl: (56) Recv failure: Connection reset by peer ,意思是说访问失败,连接被重置,会出现这个错误的原因有很多种,我们需要查看日志文件来找出原因。

日志1:无法找到jdk路径

[root@1c299e7ab95c logs]# cat catalina.out
/usr/local/apache-tomcat-10.1.0/bin/catalina.sh: line 466: /usr/local/jdk1.8.0_301/bin/java: No such file or directory
/usr/local/apache-tomcat-10.1.0/bin/catalina.sh: line 466: /usr/local/jdk1.8.0_301/bin/java: No such file or directory
/usr/local/apache-tomcat-10.1.0/bin/catalina.sh: line 466: /usr/local/jdk1.8.0_301/bin/java: No such file or directory
/usr/local/apache-tomcat-10.1.0/bin/catalina.sh: line 466: /usr/local/jdk1.8.0_301/bin/java: No such file or directory

日志1解决办法:

1、如果单纯是dockerfile文件的路径错误,只需要修改文件中的路径即可,大概率是jdk的路径写错了

ENV JAVA_HOME /usr/local/jdk1.8.0_281
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.60
ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.60
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

如上写法是没问题的。

2、如果是jdk本身有问题,我的问题就是jdk的压缩包出问题了,下载jdk压缩包时要注意区分这个压缩包是不是真的是压缩包,可以用 cat jdk-8u281-linux-x64.tar.gz 查看,如果出现前端代码就代表这是个网址而不是压缩包,如果出现乱码,则是压缩包;或者用 ls -l 查看压缩包大小,如果很小则不是压缩包。解决办法是重新去官网找jdk的压缩包。

解决了上述问题后继续通过curl查看网络请求 curl localhost:9090,发现还是会报 curl: (56) Recv failure: Connection reset by peer ,继续查看日志。

日志2:jdk版本不匹配或jdk版本太高

[root@wyc tomcat]# curl localhost:9090
curl: (56) Recv failure: Connection reset by peer
[root@wyc tomcat]# docker logs a23b8ffe533a
Tomcat started.
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
	at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
	at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:601)
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/catalina/startup/Bootstrap has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
	at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
	at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:601)

日志2解决办法:

出现这样的日志,有两种可能原因:

1、linux的jdk版本和完成的镜像中的jdk版本不一致。
解决办法就是让两者的jdk版本一致。当时我的tomcat镜像下载的的jdk版本是 jdk1.8.0_301,而linux的jdk版本是自带的 jdk1.8.0_262,于是我删除了linux自带的jdk下载了301版本的jdk。

2、当我解决了jdk不一致的问题后,发现还是会出现上述日志,此时原因是jdk版本太高。
解决办法是把已有的jdk删除后下载低版本的jdk(但是别忘了容器的jdk版本和linux的jdk版本要一致)
我刚开始用的是 jdk1.8.0_301 和 apache-tomcat-10.1.0,发现问题后改成了 jdk1.8.0_281 和 apache-tomcat-9.0.60,实测可以运行。
curl: (56) recv failure: connection reset by peer,Docker,docker
上述解决办法是基于防火墙和安全组等都没有问题的情况,查看日志文件还是很重要的!
自己遇到的坑,跪着也要填完!
文章来源地址https://www.toymoban.com/news/detail-789503.html

到了这里,关于curl: (56) Recv failure: Connection reset by peer问题汇总和解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • RPC failed; curl 56 Recv failure: Connection was reset.

    RPC failed; curl 56 Recv failure: Connection was reset. 网络问题。 http缓存不够或者网络不稳定等 修改git配置(加大httpBuffer) 即可。 记录错误,后期要是在遇到。 链接: 参考.

    2024年02月11日
    浏览(41)
  • curl网络访问时报错:(56) Recv failure: Connection timed out

    某次用户对接某业务平台,在用户侧curl平台侧资源,报错:(56) Recv failure: Connection timed out; 1、在服务器端curl上述地址正常;公网访问该url地址也正常; 2、用户侧访问,telnet 端口访问正常,这是curl Url时,提示连接超时; 3、可能原因: 客户端侧查看socket:显示:ESTABLISH

    2024年02月05日
    浏览(37)
  • 成功解决:curl: (35) TCP connection reset by peer

    成功解决:curl: (35) TCP connection reset by peer报错 当我在centOS7安装Docker-compose执行以下命令时: 出现报错: 具体截图如下所示: 解决方法: 多次执行指令(如果几次不行,新建一个终端多执行多次就可以了) 成功解决问题,指令执行成功,已在下载状态: 下载成功 欢迎各位

    2024年02月11日
    浏览(36)
  • 【完美解决】GitHub连接超时问题 Recv failure: Connection was reset

    已经开了梯子但是在Idea中使用git(GitHub)还是连接超时 Recv failure: Connection was reset 。此时需要让git走代理。 1.对右下角网络点击右键 - 打开 网络和Internet设置 2. 代理 - 查看到地址和端口号 127.0.0.1:7890 3.在终端(cmd)输入命令 4.查看是否设置成功 至此完成 相当丝滑 ^ ^

    2024年02月08日
    浏览(33)
  • connection-reset-by-peer问题定位

    有同事报客户端请求某核心服务出现大量connection reset by peer。线上故障,赶紧高优定位处理。 no.1 及时止损 看现象是个别实例集中出现,不是全部实例出现,那就和运行环境、流量、或者某个资源有关系。按照及时止损的原则,首先验证重启能否恢复,验证重启可以恢复,联

    2024年02月05日
    浏览(28)
  • 【问题记录】fatal: unable to access ‘https://github.com/‘: Recv failure: Connection was reset

    GitHub上的项目克隆到本地 一般是这是因为服务器的SSL证书没有经过第三方机构的签署,所以才报错 在 GitBash 中执行以下命令

    2024年02月15日
    浏览(45)
  • 有关 java.io.IOException: Connection reset by peer 解决问题方法之一

    有很多大佬已经终结出现这个错误的原因有一下几种 1. 服务器在接受处理用户请求时,自身的cpu、io、内存、线程等资源都是有最大限制的。当并发请求超过服务器的承载量时,服务器会停掉一些请求。(但是要注意如果实际的并发数量没有超过服务器的承载量,可能中了木

    2024年02月22日
    浏览(53)
  • vs2019用git推送到github报错:Recv failure: Connection was reset

    详细报错信息: 正在推送 master 将分支推送到远程存储库时遇到错误: Git failed with a fatal error. Git failed with a fatal error. unable to access \\\'https://github.com/sfssa/MT4Library.git/\\\': Recv failure: Connection was reset 解决办法: Windows+R输入CMD打开命令行: 在命令行中输入:ping www.github.com,得到下图所

    2024年02月07日
    浏览(39)
  • 关于无法使用SSH连接远程服务器“Connection reset by peer Connection reset by ip”

    刚开始辗转反侧在各个国内搜索引擎处,处理方法均是打开端口,关闭防火墙,但是毕竟华为云是一台新的服务器,按道理应该什么都没有,所以不可能存在防火墙的问题,而且自己在服务器的安全配置入口都打开了各个端口,在本地mac端发现也可以ping通,但是死活就是无法

    2024年02月16日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包