【问题标题】:Gitlab not sending email when accessed by httpshttps访问时Gitlab不发送电子邮件
【发布时间】:2017-06-30 14:25:01
【问题描述】:

几个月前,我在 Debian 8 中设置了 GitLab 社区版,从那时起我们的团队就成功使用了。目前我们使用的是 9.3.0 版本。

本周我们的经理说他想将GitLab访问切换为HTTPS,所以我创建了一个自签名证书并对gitlab.rb进行了以下更改:

external_url 'https://srv-git-dev'
nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/gitlab/ssl/srv-git-dev.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/srv-git-dev.key"

一切看起来都还不错,直到有人说他们没有收到电子邮件通知。我检查了这是否仅发生在某些人身上,但意识到事实并非如此。当我将 GitLab 访问权限更改为 HTTPS 时,整个团队都停止接收通知邮件...

为了确认这个理论,并检查我没有错误地更改任何其他配置值,我评论了上述更改并且通知再次开始工作......

这是 SMTP 配置(在此期间我从未更改过):

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "Exchange_Server_Address"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_domain'] = "My_Domain"
gitlab_rails['smtp_enable_starttls_auto'] = false
gitlab_rails['smtp_tls'] = false
gitlab_rails['smtp_openssl_verify_mode'] = 'none'

这是我迄今为止为尝试找出问题所做的分析:

Sidekiq 日志


> gitlab-rake gitlab:check

没有错误


> gitlab-rails 控制台制作

ActionMailer::Base.smtp_settings

=> {:address=>"Exchange_Server_Address", :port=>25, :domain=>"My_Domain", :enable_starttls_auto=>false, :tls=>false, :openssl_verify_mode=>"none", :ca_file =>“/opt/gitlab/embedded/ssl/certs/cacert.pem”}


> gitlab-rails 控制台制作

Notify.test_email('my_email_address', 'Hello World', 'This is a test message').deliver_now

我收到了邮件


我在这里做错了什么?

我还能测试什么?

因为我找不到将 GitLab 配置为只能通过 HTTPS 访问与它搞砸通知系统之间的关系。

【问题讨论】:

  • external_urlExchange_Server_Address 是 FQDN 吗?
  • here 中,我看到许多设置将openssl_verify_mode 设置为peer
  • @secustor 是的,它们都是 FQDN
  • @chenrui 试过了还是不行

标签: git email https configuration gitlab


【解决方案1】:

问题与配置无关,而是与 GitLab 9.3 版本中存在的错误有关。我更新到 9.3.5,现在一切正常。

【讨论】:

    猜你喜欢
    • 2017-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-02
    • 1970-01-01
    • 2018-05-09
    • 2012-02-04
    • 2011-09-16
    相关资源
    最近更新 更多