日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

HipChat上传文件报未知错误解决方案

發(fā)布時(shí)間:2025/3/13 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HipChat上传文件报未知错误解决方案 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

HipChat是Atlassian公司的一款團(tuán)隊(duì)協(xié)作即時(shí)通訊工具,服務(wù)端為L(zhǎng)inux(官方給的服務(wù)端就是一個(gè)虛擬機(jī)),在Windows、Linux、Android、IOS、Mac等平臺(tái)都有客戶(hù)端軟件,還可以直接在PC的Web上直接聊天,對(duì)于團(tuán)隊(duì)協(xié)作交流需求整理的比較到位,最主要的是HipChat可以和Confluence對(duì)接討論主題(不是有Confluence的需求個(gè)人覺(jué)得不如其他一些團(tuán)隊(duì)通訊軟件)。

?

前些天接下了配置HipChat服務(wù)端的任務(wù),但是使用了幾天后發(fā)現(xiàn),聊天時(shí)發(fā)送超過(guò)10M的文件就會(huì)報(bào)錯(cuò):

嗯,而且給了個(gè)明顯是廢話(huà)的報(bào)錯(cuò)提示:在上傳文件的時(shí)候出錯(cuò)了。

而官方文檔上寫(xiě)的限制是50M。所以這里肯定是有問(wèn)題的。

這里先給出最終解決方法:

1.登錄linux,使用下面命令取得root權(quán)限

sudo /bin/dont-blame-hipchat

2.編輯配置文件:

vi /etc/nginx/includes/web-site

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

# Coral requests location /v2 {# Allow larger requests for importlocation ~ /v2/import/(.*) {client_max_body_size 1024m;rewrite ^/v2/(.*)$ /$1 break;proxy_pass http://coral_servers; }# all other Coral callsclient_max_body_size 1024m;rewrite ^/v2/(.*)$ /$1 break;proxy_pass http://coral_servers; }

4.執(zhí)行重載參數(shù)文件命令:

/opt/nginx-1.4.2/sbin/nginx -s reload

如果修改完成后還不行可以試著修改該文件內(nèi)其他client_max_body_size參數(shù)。

如果不行那么可能是官方版本變動(dòng)導(dǎo)致某些文件位置變動(dòng),可以參考我后面解決問(wèn)題的過(guò)程。

下面說(shuō)明下我解決問(wèn)題的思路。

1.確定Web服務(wù)器類(lèi)型

上傳文件的問(wèn)題是在Windows桌面版本的Hipchat上發(fā)現(xiàn)的,不過(guò)因?yàn)榕c瀏覽器訪(fǎng)問(wèn)的效果一致,我猜測(cè)后面一定是一個(gè)Web服務(wù)器,于是乎打開(kāi)瀏覽器試著在聊天界面發(fā)送文件,果然是同樣的報(bào)錯(cuò),不過(guò)不同的是,我可以用現(xiàn)代瀏覽器的調(diào)試工具查看下請(qǐng)求的報(bào)錯(cuò)內(nèi)容,于是看到:

點(diǎn)進(jìn)去看到:

看到了nginx,沒(méi)接觸過(guò)nginx,不過(guò)現(xiàn)在網(wǎng)絡(luò)資料一大把,很容易就可以找到其相關(guān)資料。

(注:我這里使用的是Chrome的開(kāi)發(fā)者工具)

2.查找并修改配置文件

網(wǎng)上很容易可以搜到nginx是代理,其配置文件中的client_max_body_size字段表明了最大上傳大小。故現(xiàn)在登錄服務(wù)器

1.登錄linux,使用下面命令取得root權(quán)限

sudo /bin/dont-blame-hipchat

2.用命令查找nginx的配置文件:

find / -name 'nginx.conf'

結(jié)果如下:

/opt/atlassian/hipchat/dependencies/source/nginx-1.4.2/conf/nginx.conf /hipchat-scm/web/application/vendor/Elastica/test/nginx/nginx.conf /etc/nginx/conf.d/nginx.conf /etc/nginx/nginx.conf /usr/local/src/nginx-1.4.2/conf/nginx.conf

3.編輯配置文件

vi /etc/nginx/nginx.conf

改動(dòng)后如下:

user www-data; worker_processes 4; daemon off;error_log /var/log/nginx/error.log; pid /var/run/nginx.pid;events {worker_connections 2048; }http {include /etc/nginx/mime.types;default_type application/octet-stream;log_format custom '$remote_addr - $remote_user [$time_local] ''"$request" $status $body_bytes_sent ''"$http_referer" "$http_user_agent" ''"$http_x_forwarded_for" $http_x_forwarded_proto';access_log /var/log/nginx/access.log custom;server_tokens off;sendfile on;tcp_nopush on;tcp_nodelay on;keepalive_timeout 65;client_max_body_size 1024m;gzip on;gzip_http_version 1.0;gzip_comp_level 2;gzip_proxied any;gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;proxy_buffers 8 16k;proxy_buffer_size 16k;server_names_hash_bucket_size 64;include /etc/nginx/conf.d/*.conf;include /etc/nginx/sites-enabled/*; }

4.執(zhí)行重載參數(shù)文件命令:

/opt/nginx-1.4.2/sbin/nginx -s reload

發(fā)現(xiàn)并沒(méi)有解決問(wèn)題,重啟Linux虛擬機(jī),仍然沒(méi)有解決問(wèn)題,且重啟后發(fā)現(xiàn)該配置文件里client_max_body_size又被改回10m了。于是后來(lái)又從怎么樣重啟后使得該配置文件不重置參數(shù)著手,實(shí)際證明這條思路是錯(cuò)誤的。

該配置文件最下面有兩個(gè)include語(yǔ)句,/etc/nginx/conf.d/目錄為空,于是進(jìn)入/etc/nginx/sites-enabled目錄。發(fā)現(xiàn)里面有個(gè)鏈接文件

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。發(fā)現(xiàn)底部又是一個(gè)包含文件:

... ... server {listen 80 default_server;more_clear_input_headers 'X-HIPCHAT-GROUP';more_clear_input_headers 'X-HIPCHAT-USER';add_header Strict-Transport-Security "max-age=31536000";more_clear_input_headers 'X-HIPCHAT-REQUEST';more_set_input_headers 'X-HIPCHAT-REQUEST: public';include includes/web-site; }

于是再找includes/web-site:

root@hipchat:/etc/nginx/sites-enabled# find / -name 'web-site' /etc/nginx/includes/web-site

5.打開(kāi)該web-site文件,查找其中的client_max_body_size,最終發(fā)現(xiàn)120行附件location /v2中增加client_max_body_size配置項(xiàng)有效。

# Coral requests location /v2 {# Allow larger requests for importlocation ~ /v2/import/(.*) {client_max_body_size 1024m;rewrite ^/v2/(.*)$ /$1 break;proxy_pass http://coral_servers; }# all other Coral callsclient_max_body_size 1024m;rewrite ^/v2/(.*)$ /$1 break;proxy_pass http://coral_servers; }

6.改完保存后,執(zhí)行以下命令重新載入配置文件。

/opt/nginx-1.4.2/sbin/nginx -s reload

(注:nginx路徑可能會(huì)有變動(dòng),如無(wú)法執(zhí)行請(qǐng)查找其他nginx目錄)。

3.總結(jié)

這樣改過(guò)以后,Hipchat即可以上傳50M以上文件了,當(dāng)然50M也不大,但是這是官方限制,估計(jì)只有向官方反饋或者付費(fèi)才能解決這個(gè)問(wèn)題。

其實(shí)在使用Hipchat的時(shí)候我有點(diǎn)搞不清楚Hipchat在Atlassian公司的地位,因?yàn)橛性S多問(wèn)題。除了這次遇到的,還有自帶的Windows、Linux、Mac、IOS、Android等平臺(tái)的客戶(hù)端版本都比較老,Windows端的無(wú)法發(fā)圖和文件,Android直接就連不上,最終是直接從官網(wǎng)下載最新的客戶(hù)端包才解決問(wèn)題,其他平臺(tái)沒(méi)有試過(guò)。(Android版本需要到Google Play商店安裝)。

Hipchat算是一個(gè)小眾軟件,所以估計(jì)也沒(méi)什么人會(huì)遇到這問(wèn)題。本文除了記錄該問(wèn)題外,算是提供一種解決問(wèn)題的思路。遇到這種網(wǎng)絡(luò)連接類(lèi)的問(wèn)題,且服務(wù)端和客戶(hù)端都不能看源代碼的,就可以類(lèi)似這樣解決。即使服務(wù)器不是HTTP服務(wù)器,也可以使用wireshark這類(lèi)工具來(lái)查找問(wèn)題。

轉(zhuǎn)載于:https://www.cnblogs.com/yaoh/p/5160464.html

總結(jié)

以上是生活随笔為你收集整理的HipChat上传文件报未知错误解决方案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。