2

我正在设置没有许可证的 gitlab-ee。我想要 https 但它给了我这个错误

配方:letsencrypt::http_authorization *letsencrypt_certificate[gitlab.example.com] action create * acme_certificate[staging] action create * file[gitlab.example.com SSL key] action create_if_missing(最新)

  ================================================================================
  Error executing action `create` on resource 'acme_certificate[staging]'
  ================================================================================

  Acme::Client::Error::Malformed
  ------------------------------
  Method not allowed

  Cookbook Trace:
  ---------------
  /opt/gitlab/embedded/cookbooks/cache/cookbooks/acme/resources/certificate.rb:77:in `block in class_from_file'

  Resource Declaration:
  ---------------------
  suppressed sensitive resource output

  Compiled Resource:
  ------------------
  suppressed sensitive resource output

  System Info:
  ------------
  chef_version=14.13.11
  platform=ubuntu
  platform_version=18.04
  ruby=ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux]
  program_name=/opt/gitlab/embedded/bin/chef-client
  executable=/opt/gitlab/embedded/bin/chef-client


================================================================================
Error executing action `create` on resource 'letsencrypt_certificate[gitlab.example.com]'
================================================================================

Acme::Client::Error::Malformed
------------------------------
acme_certificate[staging] (/opt/gitlab/embedded/cookbooks/cache/cookbooks/letsencrypt/resources/certificate.rb line 25) had an error: Acme::Client::Error::Malformed: Method not allowed

Cookbook Trace:
---------------
/opt/gitlab/embedded/cookbooks/cache/cookbooks/acme/resources/certificate.rb:77:in `block in class_from_file'

Resource Declaration:
---------------------
# In /opt/gitlab/embedded/cookbooks/cache/cookbooks/letsencrypt/recipes/http_authorization.rb

  5: letsencrypt_certificate site do
  6:   crt node['gitlab']['nginx']['ssl_certificate']
  7:   key node['gitlab']['nginx']['ssl_certificate_key']
  8:   notifies :run, "execute[reload nginx]", :immediate
  9:   notifies :run, 'ruby_block[display_le_message]'
 10:   only_if { omnibus_helper.service_up?('nginx') }
 11: end

Compiled Resource:
------------------
# Declared in /opt/gitlab/embedded/cookbooks/cache/cookbooks/letsencrypt/recipes/http_authorization.rb:5:in `from_file'

letsencrypt_certificate("gitlab.example.com") do
  action [:create]
  default_guard_interpreter :default
  declared_type :letsencrypt_certificate
  cookbook_name "letsencrypt"
  recipe_name "http_authorization"
  crt "/etc/gitlab/ssl/gitlab.example.com.crt"
  key "/etc/gitlab/ssl/gitlab.example.com.key"
  alt_names []
  cn "gitlab.example.com"
  only_if { #code block }
end

System Info:
------------
chef_version=14.13.11
platform=ubuntu
platform_version=18.04
ruby=ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux]
program_name=/opt/gitlab/embedded/bin/chef-client
executable=/opt/gitlab/embedded/bin/chef-client

运行处理程序:运行 gitlab-ctl 重新配置时出错:

letsencrypt_certificate[gitlab.example.com](letsencrypt::http_authorization 第 5 行)出错:Acme::Client::Error::Malformed: acme_certificate[staging] (/opt/gitlab/embedded/cookbooks/cache/cookbooks/letsencrypt /resources/certificate.rb 第 25 行)出现错误:Acme::Client::Error::Malformed: Method not allowed

我不明白为什么它使它无法创建认证。它创建它们并将它们存储在/etc/gitlab/ssl任何能够提供帮助的人身上吗?

4

1 回答 1

1

只是为了后代,为了完成@Rafael Pardini的回答,提到的解决方案归结为简单地评论文件中的acme_certificate 'staging'块(从doend/opt/gitlab/embedded/cookbooks/letsencrypt/resources/certificate.rb

于 2020-02-08T14:09:41.843 回答