首页 > 网站 > Nginx > 正文

HipChat上传文件报未知错误的原因分析及解决方案

2024-08-30 12:26:16
字体:
来源:转载
供稿:网友

HipChat的功能类似于Campfire、Sazneo等在线协同工具,并且和Yammer以及Salesforce的Chatter等企业社交平台有一定相似之处。你可以为单个项目或者小组搭建自有的聊天室,也可以很方便的发起一对一聊天。这套 IM 系统还整合了团队文件管理和分享,拖拽就能完成保存操作。

前言

HipChat是Atlassian公司的一款团队协作即时通讯工具,服务端为Linux(官方给的服务端就是一个虚拟机),在Windows、Linux、Android、IOS、Mac等平台都有客户端软件,还可以直接在PC的Web上直接聊天,对于团队协作交流需求整理的比较到位,最主要的是HipChat可以和Confluence对接讨论主题(不是有Confluence的需求个人觉得不如其他一些团队通讯软件)。

前些天接下了配置HipChat服务端的任务,但是使用了几天后发现,聊天时发送超过10M的文件就会报错:

嗯,而且给了个明显是废话的报错提示:在上传文件的时候出错了。

而官方文档上写的限制是50M。所以这里肯定是有问题的。

这里先给出最终解决方法:

1.登录linux,使用下面命令取得root权限

代码如下:
sudo /bin/dont-blame-hipchat

2.编辑配置文件:

代码如下:
vi /etc/nginx/includes/web-site

3.在大概120行的位置找到如下代码片段,添加并修改client_max_body_size 1024m;(原来是10M)

代码如下:
# 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;
}

4.执行重载参数文件命令:

代码如下:
/opt/nginx-1.4.2/sbin/nginx -s reload

如果修改完成后还不行可以试着修改该文件内其他client_max_body_size参数。

如果不行那么可能是官方版本变动导致某些文件位置变动,可以参考我后面解决问题的过程。

下面说明下我解决问题的思路。

1.确定Web服务器类型

上传文件的问题是在Windows桌面版本的Hipchat上发现的,不过因为与浏览器访问的效果一致,我猜测后面一定是一个Web服务器,于是乎打开浏览器试着在聊天界面发送文件,果然是同样的报错,不过不同的是,我可以用现代浏览器的调试工具查看下请求的报错内容,于是看到:

点进去看到:

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表