LAN内部Gerrit审核服务器,用户向外发送激活Email失败,提示502Proxy Error
因项目需要,最近要搭建一个Gerrit审核服务,尝试在LAN内部进行构建,选定的主机环境为:
1) Ubuntu 12.04 (64bit)
2) Gerrit 最新2.10 Release
3)JRE1.7
搭建过程:
1)在root用户下,配置Apache2虚拟主机,监听端口8081请求;
配置反向代理,web请求重定向到Gerrit监听端口8082
2)在新建的Gerrit用户下,配置Gerrit.conf中的【sendemail】字段:
[gerrit]
basePath = git
canonicalWebUrl = http://120.25.218.xxx:8082/
[database]
type = h2
database = db/ReviewDB
[index]
type = LUCENE
[auth]
type = HTTP
[sendemail]
enable = true
smtpServer = smtp.qq.com
smtpServerPort = 465
smtpEncrption = SSL
smtpUser = xxxxxxxx@qq.com
smtpPass = xxxxxxxx
from = gerrit<xxxxxxxx@qq.com>
[container]
user = gerrit
javaHome = /usr/local/bin/jre1.7.0_76
[sshd]
listenAddress = *:29418
[httpd]
[cache]
3) 配置nail.rc使用QQ外部SMTP代理,手动命令mail/mailx 发送邮件(不经过SSL认证),保证【发件人】和【收件人】地址一致,可以成功接收到邮件
4) 在Gerrit的Web页面,进入Gerrit用户账号设置,选择“contact information”中的“Register mail”,填写邮箱地址后,点击发送。页面长时间停留在【Working】状态,一段时间后弹出Apache错误信息【502 Proxy Error】
【详情如下】
[Mon May 04 14:27:15.594459 2015] [proxy_http:error] [pid 16368:tid 139868353029888] (70007)The timeout specified has expired: [client 116.25.163.101:54462] AH01102: error reading status line from remote server 120.25.218.113:8082, referer: http://120.25.218.xxx:8081/
[Mon May 04 14:27:15.594522 2015] [proxy:error] [pid 16368:tid 139868353029888] [client 116.25.163.101:54462] AH00898: Error reading from remote server returned by /accounts/self/emails/44xxxxxxx@qq.com, referer: http://120.25.218.xxx:8081/
个人猜想: 似乎是我的Apache代理设定存在问题,无法响应客户端web页面的HTTP请求。但不知如何调试?请教大侠,gerrit在配置外部SMTP代理时候,怎样才能发信?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
引用来自“Feng_Yu”的评论
我的配置,你参考一下,也是用了apache的反向代理,使用smtp发邮件
像这些密码应该都是出现在security.config文件的啊,你怎么直接写到主配置文件了?
猜测是from这里可能出了问题,from段一般都必须和登录名保持一致,这个是smtp服务端的限制。如果from不一致可能无法通过认证。你可以找个别的smtp客户端,比如msmtp,或者sendemail这个简易的perl脚本去测试一下你的配置。
我的配置,你参考一下,也是用了apache的反向代理,使用smtp发邮件
像这些密码应该都是出现在security.config文件的啊,你怎么直接写到主配置文件了?
猜测是from这里可能出了问题,from段一般都必须和登录名保持一致,这个是smtp服务端的限制。如果from不一致可能无法通过认证。你可以找个别的smtp客户端,比如msmtp,或者sendemail这个简易的perl脚本去测试一下你的配置。