HipChat的功能类似于Campfire、Sazneo等在线协同工具,并且和Yammer以及Salesforce的Chatter等企业社交平台有一定相似之处。你可以为单个项目或者小组搭建自有的聊天室,也可以很方便的发起一对一聊天。这套 IM 系统还整合了团队文件管理和分享,拖拽就能完成保存操作。
[b]
前言[/b]
HipChat是Atlassian公司的一款团队协作即时通讯工具,服务端为Linux(官方给的服务端就是一个虚拟机),在Windows、Linux、Android、IOS、Mac等平台都有客户端软件,还可以直接在PC的Web上直接聊天,对于团队协作交流需求整理的比较到位,最主要的是HipChat可以和Confluence对接讨论主题(不是有Confluence的需求个人觉得不如其他一些团队通讯软件)。
前些天接下了配置HipChat服务端的任务,但是使用了几天后发现,聊天时发送超过10M的文件就会报错:
[img]http://files.jb51.net/file_images/article/201601/2016012710093123.png[/img]
嗯,而且给了个明显是废话的报错提示:在上传文件的时候出错了。
而官方文档上写的限制是50M。所以这里肯定是有问题的。
[b]这里先给出最终解决方法:[/b]
1.登录linux,使用下面命令取得root权限
root@hipchat:/etc/nginx/sites-enabled 代码如下:
root@hipchat:/etc/nginx/sites-enabled# cd /etc/nginx/sites-enabled/
root@hipchat:/etc/nginx/sites-enabled# ls -l
total 0
lrwxrwxrwx 1 root root 34 Sep 17 01:19 000-web -> /etc/nginx/sites-available/000-web
于是查看文件/etc/nginx/sites-available/000-web。发现底部又是一个包含文件:
... ...
root@hipchat:/etc/nginx/sites-enabled 代码如下:
root@hipchat:/etc/nginx/sites-enabled# find / -name 'web-site'
/etc/nginx/includes/web-site
5.打开该web-site文件,查找其中的client_max_body_size,最终发现120行附件location /v2中增加client_max_body_size配置项有效。
# Coral requests
location /v2 {
# Allow larger requests for import
location ~ /v2/import/(.*) {
client_max_body_size 1024m;
rewrite ^/v2/(.*)$ /$1 break;
proxy_pass http://coral_servers;
}
# all other Coral calls
client_max_body_size 1024m;
rewrite ^/v2/(.*)$ /$1 break;
proxy_pass http://coral_servers;
}
6.改完保存后,执行以下命令重新载入配置文件。
/opt/nginx-1.4.2/sbin/nginx -s reload
(注:nginx路径可能会有变动,如无法执行请查找其他nginx目录)。
[b]3.总结[/b]
这样改过以后,Hipchat即可以上传50M以上文件了,当然50M也不大,但是这是官方限制,估计只有向官方反馈或者付费才能解决这个问题。
其实在使用Hipchat的时候我有点搞不清楚Hipchat在Atlassian公司的地位,因为有许多问题。除了这次遇到的,还有自带的Windows、Linux、Mac、IOS、Android等平台的客户端版本都比较老,Windows端的无法发图和文件,Android直接就连不上,最终是直接从官网下载最新的客户端包才解决问题,其他平台没有试过。(Android版本需要到Google Play商店安装)。
Hipchat算是一个小众软件,所以估计也没什么人会遇到这问题。本文除了记录该问题外,算是提供一种解决问题的思路。遇到这种网络连接类的问题,且服务端和客户端都不能看源代码的,就可以类似这样解决。即使服务器不是HTTP服务器,也可以使用wireshark这类工具来查找问题。