Redmine默认不使用StartTLS。当我将LDAP服务器配置为要求TLS时,redmine无法验证用户身份。
使用openldap,您可能会在Redmine日志中看到“机密要求”错误消息。
答案 0 :(得分:0)
确保未启用LDAPS。 ldaps://是与StartTLS不同的加密方案。使用StartTLS,未加密的连接将升级为通过同一端口进行加密。
使用redmine 3.2.4时,请找到名称为redmine / app / models / auth_source_ldap.rb的文件
搜索“加密”,找到:
options = { :host => self.host,
:port => self.port,
:encryption => (self.tls ? :simple_tls : nil)
}
取消选中LDAPS时,我们要使用StartTLS:
:encryption => (self.tls ? :simple_tls : :start_tls)
保存并重新启动Web服务器。 Redmine现在应该使用加密连接。
答案 1 :(得分:0)
我知道这是旧的,但我在 Redmine 4.1.2 上遇到了类似的问题。
为了让 StartTLS 在没有 LDAPS 的情况下工作,我必须进行类似的更改:
在 redmine/app/models/auth_source_ldap.rb 中
搜索这段代码
if tls
options[:encryption] = {
:method => :simple_tls,
# Always provide non-empty tls_options, to make sure, that all
# OpenSSL::SSL::SSLContext::DEFAULT_PARAMS as well as the default cert
# store are used.
:tls_options => { :verify_mode => verify_peer? ? OpenSSL::SSL::VERIFY_PEER : OpenSSL::SSL::VERIFY_NONE }
}
并使用 else 子句将其更新为:
if tls
options[:encryption] = {
:method => :simple_tls,
# Always provide non-empty tls_options, to make sure, that all
# OpenSSL::SSL::SSLContext::DEFAULT_PARAMS as well as the default cert
# store are used.
:tls_options => { :verify_mode => verify_peer? ? OpenSSL::SSL::VERIFY_PEER : OpenSSL::SSL::VERIFY_NONE }
}
else
options[:encryption] = {
:method => :start_tls,
:tls_options => { :verify_mode => OpenSSL::SSL::VERIFY_NONE}
}
end