【问题标题】:Docker Ruby SSL_connect returned=1 errno=0 state=error: wrong signature typeDocker Ruby SSL_connect 返回=1 errno=0 状态=错误:错误的签名类型
【发布时间】:2020-04-18 18:38:20
【问题描述】:

我在 Docker 容器中安装了 ruby​​ 2.7,使用 Faraday 运行一个相当简单的 HTTP 客户端:

conn = Faraday.new("https://jinio.com.ph")
conn.post("/tracker", {p: @code}.to_json, {"Content-Type" => "application/json"})

此代码在容器内返回 SSL 错误“错误的签名类型”。

Faraday::SSLError (SSL_connect returned=1 errno=0 state=error: wrong signature type)

关于如何解决这个问题的任何想法?仅供参考,如果我在 Mac OS 上运行它,代码运行不会出错

如果有帮助,我的 Dockerfile:

FROM ruby:2.7
RUN apt-get update -qq && apt-get install -y nodejs postgresql-client nano
RUN mkdir /app
WORKDIR /app
COPY Gemfile /app/Gemfile
COPY Gemfile.lock /app/Gemfile.lock
RUN bundle install
COPY . /app

# Script to be executed every time the container starts.
COPY entrypoint.sh /usr/bin/
RUN chmod +x /usr/bin/entrypoint.sh
ENTRYPOINT ["entrypoint.sh"]
EXPOSE 3000

# Start server
CMD ["rails", "server", "-b", "0.0.0.0"]

【问题讨论】:

  • 当您使用容器运行 bash 时,使用 curlwget 的相同请求是否有效?
  • 在容器内运行 curl 也失败了:curl: (35) error:1414D172:SSL routines:tls12_check_peer_sigalg:wrong signature type
  • 想知道更多关于为什么你的容器在你的域上出现 ssl 错误的信息。也许您的证书提供者根证书没有随您的容器一起提供?
  • 或者,即使不推荐,您也可以跳过 SSL 检查:gist.github.com/doubleotoo/3942158
  • 在将 Ruby 容器从 2.5 升级到 2.6 后,我遇到了同样的问题。我发现这篇文章描述了我认为的问题:medium.com/@andrewhowdencom/…

标签: ruby docker httparty faraday


【解决方案1】:

我遇到了同样的问题,通过更改 Dockerfile 解决了。

FROM ruby:2.7之后添加

RUN sed -i 's/DEFAULT@SECLEVEL=2/DEFAULT@SECLEVEL=1/' /etc/ssl/openssl.cnf

来源(日文):

https://qiita.com/masayuki14/items/c34eafb9d6130e2c5b67

【讨论】:

  • 更改 SECLEVEL 是否存在安全问题?
【解决方案2】:

已接受的解决方案无法开箱即用,因为我需要使用 OpenSSL 1.1.1f 31 Mar 2020Ubuntu 20.04.3 LTS 上解决该问题。 我在https://askubuntu.com/a/1233456/306766 找到的解决方案对我有用。

您需要将此添加到配置文件的开头 (/etc/ssl/openssl.cnf):

openssl_conf = default_conf

然后到最后:

[ default_conf ]

ssl_conf = ssl_sect

[ssl_sect]

system_default = system_default_sect

[system_default_sect] MinProtocol = TLSv1.2 CipherString =
DEFAULT:@SECLEVEL=1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-06
    • 2019-04-03
    • 2015-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-01
    • 2020-11-22
    相关资源
    最近更新 更多