最近,部门需要搭建一个gitlab来管理代码。gitlab搭建过程呢,网上的资料很全面,这里就不展开叙述了。

  在服务器搭建完成之后,gitlab需要集成邮件,以便创建按账号后通知用户进行账号**。在配置好git中的smtp后测试邮件发送时,出现了错误,如图: 

gitlab发送邮件时报错OpenSSL::SSL::SSLError(SSL_connect returned=1 errno=0 state=error: wrong version numbe)

  此时出现了OpenSSL::SSL::SSLError (SSL_connect returned=1 errno=0 state=error: wrong version number)这个错误。

  附上我们gitlab中smtp的配置,如图:

gitlab发送邮件时报错OpenSSL::SSL::SSLError(SSL_connect returned=1 errno=0 state=error: wrong version numbe)

  出现ssl版本不兼容错误,我也是在网上找了一大堆的资料。但都没有有效的解决。

  导致该问题的原因呢看起来像是ssl_version版本不兼容导致的,我们服务器上的TLS协议都是v1.2版本。gitlab服务器上的的openssl的版本为1.1.1,该版本支持TLSv1.2。

  所以此时我就想到了在配置邮件相关smtp参数中正好有关tls配置的,最后再通过在gitlab官网问题中查看,发现很多人也碰见了这个问题,得出的结论smtp无法与TLSv1.2一起使用。

  其中gitlab_rails['smtp_tls'] = true这一项配置是导致该报错误的元凶。

  解决方法:将其设置为false

  此时有小伙伴会担心设置为false后发送的邮件就不会被加密了,但是,在端口587抓取的结果中会发现邮件仍然被加密了。具体可以查看gitlab官网中对该问题的处理。

   将配置文件修改后gitlab重新加载配置文件(linux下),键入命令:gitlab-ctl reconfigure

   然后gitlab重启:gitlab-ctl restart

   最后进行发送邮件测试:1)gitlab-rails console

                                            2)Notify.test_email('[email protected]', 'Message Subject', 'Message Body').deliver_now

   发送邮件最终测试正常结果,如图:

gitlab发送邮件时报错OpenSSL::SSL::SSLError(SSL_connect returned=1 errno=0 state=error: wrong version numbe)

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-12-07
  • 2021-05-17
  • 2021-12-12
  • 2022-12-23
  • 2022-01-03
  • 2021-12-07
猜你喜欢
  • 2021-07-01
  • 2021-11-12
  • 2022-12-23
  • 2021-10-03
  • 2021-09-21
  • 2021-06-14
  • 2022-12-23
相关资源
相似解决方案