Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于本地部署时公网 IP 和 redis 的一些问题 #237

Open
LimingFang opened this issue Apr 11, 2024 · 12 comments
Open

关于本地部署时公网 IP 和 redis 的一些问题 #237

LimingFang opened this issue Apr 11, 2024 · 12 comments

Comments

@LimingFang
Copy link

detail | 详细描述 | 詳細な説明

env.sh 中既有 REDIS_HOST+REDIS_PORT 又有 ENDPOINT:redis 是运行在本地(例如 ubuntu)上吗,还是阿里云之类的云服务器?“然后将 7860 端口通过公网 IP 代理出去”,这里代理出去是指,数据从 7860(server_port)端口流向公网 IP,然后又流向 REDIS SERVER?可是配置里没有提到公网服务器是如何配置的

@tpoisonooo
Copy link
Collaborator

tpoisonooo commented Apr 12, 2024

1. REDIS 问题

你看这有张图 https://github.com/InternLM/HuixiangDou/tree/main/web

image

如果你需要 飞书 功能,那么 redis 就必须是公网;不需要可以是本地。

2. ENDPOINT 问题

因为我们实际上买不起一个公网域名、只有公网 IP,然而服务一般又需要域名(https 需要、备案也需要)。

所以 https://openxlab.org.cn/apps/detail/tpoisonooo/huixiangdou-web 真实机器没有绑定域名,你看到的 openxlab.org.cn/xxx 是代理出来的。

但飞书/微信的 callback 不能用域名访问,否则会访问到 openxlab.org.cn,需要是个真实 IP 地址。所以得设置一下真实的 ENDPOINT。

如果你需要飞书,就用自己的真实公网 IP 即可

@LimingFang
Copy link
Author

@tpoisonooo
image
这里的 回调地址端口 应该是指上边的 SERVER_PORT 而不是 HUIXIANGDOU_MESSAGE_ENDPOINT?

@tpoisonooo
Copy link
Collaborator

@tpoisonooo image 这里的 回调地址端口 应该是指上边的 SERVER_PORT 而不是 HUIXIANGDOU_MESSAGE_ENDPOINT?

callback 是指 endpoint

@tpoisonooo
Copy link
Collaborator

tpoisonooo commented Apr 12, 2024

文档更新了。

这个项目的文档,不少都是 contributor 提供的。希望部署后发个 PR ,补充 FAQ 和自己的理解。

@LimingFang
Copy link
Author

@tpoisonooo image 这里的 回调地址端口 应该是指上边的 SERVER_PORT 而不是 HUIXIANGDOU_MESSAGE_ENDPOINT?

callback 是指 endpoint

那就是回调端口(endpoint)和 SERVER PORT 都是7860了吗?但是下面赋值 HUIXIANGDOU_MESSAGE_ENDPOINT 还是 http://10.1.52.36:18443?

@tpoisonooo
Copy link
Collaborator

10.xxxx 是内网。 你用 10.xxx, 说明没买公网服务,就没有代理一说。

对你而言是 http://10.1.52.35:7860

@LimingFang
Copy link
Author

文档更新了。

这个项目的文档,不少都是 contributor 提供的。希望部署后发个 PR ,补充 FAQ 和自己的理解。

嗯嗯会的,先理解清楚部署后会帮忙加一些

@LimingFang
Copy link
Author

10.xxxx 是内网。 你用 10.xxx, 说明没买公网服务,就没有代理一说。

对你而言是 http://10.1.52.35:7860

举个最简单/具体的场景,我 SERVER+redis 全部部署在本地 ubuntu,那么 SERVER_PORT=7860,REDIS_PORT=6666(举个例子),此时 ENDPOINT 则是 <某个私有IP>:7860,是这样吗?

以及飞书/微信 callback 和 endpoint 交互没太理解,是指飞书和 huaixiangdou server 交互时,前者将消息传到这个 endpoint 吗

@tpoisonooo
Copy link
Collaborator

10.xxxx 是内网。 你用 10.xxx, 说明没买公网服务,就没有代理一说。
对你而言是 http://10.1.52.35:7860

举个最简单/具体的场景,我 SERVER+redis 全部部署在本地 ubuntu,那么 SERVER_PORT=7860,REDIS_PORT=6666(举个例子),此时 ENDPOINT 则是 <某个私有IP>:7860,是这样吗?

以及飞书/微信 callback 和 endpoint 交互没太理解,是指飞书和 huaixiangdou server 交互时,前者将消息传到这个 endpoint 吗

对。 并且全本地的话,就不要想飞书了。飞书服务器访问不到你啊

@LimingFang
Copy link
Author

10.xxxx 是内网。 你用 10.xxx, 说明没买公网服务,就没有代理一说。
对你而言是 http://10.1.52.35:7860

举个最简单/具体的场景,我 SERVER+redis 全部部署在本地 ubuntu,那么 SERVER_PORT=7860,REDIS_PORT=6666(举个例子),此时 ENDPOINT 则是 <某个私有IP>:7860,是这样吗?
以及飞书/微信 callback 和 endpoint 交互没太理解,是指飞书和 huaixiangdou server 交互时,前者将消息传到这个 endpoint 吗

对。 并且全本地的话,就不要想飞书了。飞书服务器访问不到你啊

感谢回复,我有点头绪了:

  1. 算法是部署在本地 ubuntu 的,后端(处理 web、lark 消息的)可部署在本地 ubuntu 或者云服务器 A,redis 可以部署在本地 ubuntu 或者云服务器 A 或者 B 吗?
  2. 假如都部署在本地,那就无法使用 lark/wechat,那就只能使用本地 web 访问 huaixiangdou 吗?此时 endpoint 应该无所谓了吧,因为我也不用它(以及上边 10.1.52.35 这个私有 IP 是你随机选的吗?这个需要看路由器管理界面确定吗)
  3. 假如使用了云服务器 A,这是不是指 web 服务、lark 处理服务都部署在这上面,我本地 ubuntu 相当于是去 A 给定端口访问服务
  4. redis 和 web 服务这些是不是放在一个云服务器就行了,没必要单独一个

@tpoisonooo
Copy link
Collaborator

  1. 如果后端在云服务,那么 redis 必须云服务,不然你咋连上..
  2. 是的
  3. 是的
  4. 是的。 高级的花样确实有(redis 主从同步、分布式),但现在不需要了解

@LimingFang
Copy link
Author

  1. 如果后端在云服务,那么 redis 必须云服务,不然你咋连上..
  2. 是的
  3. 是的
  4. 是的。 高级的花样确实有(redis 主从同步、分布式),但现在不需要了解
  1. 我意思是后端在云服务器A,redis 可以选云服务器A或者B吗🐴

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants