wildfirechat / android-chat

即时通讯,聊天,野火IMAndroid客户端,支持Android 4.x —— 最新
http://docs.wildfirechat.cn
Other
2.54k stars 889 forks source link

公网图片文件无法发送 #679

Closed liuhuanbo closed 2 years ago

liuhuanbo commented 2 years ago

局域网,图片、语音、文本消息都可以发送成功,映射到公网除了文本消息其他均发送失败,请问下这大概是什么原因造成的,还是那块配置没出问题了呢?

heavyrain2012 commented 2 years ago

映射到公网  是什么情况

liuhuanbo commented 2 years ago

部署到外网服务器,图片之类的发送不出去,只有文字和表情可以,内网可以发出去

heavyrain2012 commented 2 years ago

您提供的信息太少了,我们猜不出来什么原因。请提供更多信息,比如使用的是那个对象存储服务,网络部署情况等

liuhuanbo commented 2 years ago

就是聊天回话,发送文字可以发送成功,图片不成功,局域网可以,互联网发送失败。

imndx commented 2 years ago

请看如何抓取日志,抓一个日志贴上来吧。

liuhuanbo commented 2 years ago

日志见附件 man-log.txt

marsservice-log.txt

imndx commented 2 years ago

你的媒体存储服务配置错误,请检查下 im-server 下面几项配置,使用内置文件存储时,如果没有特殊需求,这几项配置直接关闭就好了:

## 如果使用内置文件存储,文件上传后地址默认为 http://server.ip:http_port/fs/5/2021/03/27/08/filename。
## 如果需要使用nginx添加https支持,请打开下面配置,这样客户端得到的文件地址为 https://example.com/media/fs/5/2021/03/27/08/filename。
## 需要nginx把请求从https://example.com/media/fs 转到 http://server.ip:http_port/fs。注意需要带上所有header。
## 尽管内置文件存储可以使用,但是我们还是建议使用专业级别的对象存储服务,社区版可以使用七牛,专业版另外支持阿里云和也是私有对象存储。详情请参考 https://docs.wildfirechat.cn/server/oss.html
#local.media.storage.remote_server_url http://192.168.1.81

# 如果使用内置文件存储,文件上传地址为 http://server.ip:http_port/fs,方式为put。
# 可以修改这个地址,打开下面这个开关,可以把${server.ip}替换成指定的地址。
# 比如下面配置后上传地址为http://file.example.com:83/fs
#local.media.storage.upload_host 192.168.1.81
#local.media.storage.upload_port 80
liuhuanbo commented 2 years ago

WechatIMG3 这个是我们这边的配置,麻烦看看有啥问题吗?

imndx commented 2 years ago

WechatIMG3 这个是我们这边的配置,麻烦看看有啥问题吗?

这几行没问题。

日志显示你们是往http://192.168.18.179:80传文件了 我怀疑,你是打了这两行配置,关了就好了。

#local.media.storage.upload_host 192.168.1.81
#local.media.storage.upload_port 80
liuhuanbo commented 2 years ago

正常应该是往哪个端口传。

imndx commented 2 years ago

如果使用内置文件存储,文件上传地址为 http://server.ip:http_port/fs,方式为put

liuhuanbo commented 2 years ago

这个地址是默认的吧,我们这边没有做修改。是需要我们这边自己修改IM Sever源代码吗?我们这边的配置就是附件中图所示的。

imndx commented 2 years ago
  1. im-server 你配置的 server.ip 是什么?
  2. Android 端,Config.java里面,你配置的IM_SERVER_HOST又是什么?
liuhuanbo commented 2 years ago

im-server 配置的server.ip是 192.168.18.179
Android IM_SERVER_HOST使用的是域名。

imndx commented 2 years ago

im-server 配置的server.ip是 192.168.18.179
Android IM_SERVER_HOST使用的是域名。

你把server.ip也改成域名