Guides
域名配置
通过域名、证书和 Nginx 将 API 与 WebSocket 统一到生产入口。
本页只配置 OpenIMServer 与 ChatServer 的常用域名入口。
前置条件
- OpenIMServer 和 ChatServer 已成功启动。
- Nginx 已安装并启用 SSL 模块。
- 已申请域名和 SSL 证书,例如
im.yourhost.com。 - 服务器已放行 TCP
443。
Debian 或 Ubuntu 可通过 apt-get install -y nginx 安装 Nginx。
配置 Nginx
将示例中的域名、证书路径和服务地址替换为实际值:
upstream msg_gateway {
server 127.0.0.1:10001;
}
upstream im_api {
server 127.0.0.1:10002;
}
upstream im_chat_api {
server 127.0.0.1:10008;
}
upstream minio_s3 {
server 127.0.0.1:10005;
}
server {
listen 443 ssl;
server_name im.yourhost.com;
ssl_certificate /usr/local/nginx/conf/ssl/im.yourhost.com_bundle.pem;
ssl_certificate_key /usr/local/nginx/conf/ssl/im.yourhost.com.key;
location /msg_gateway {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header X-real-ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://msg_gateway/;
}
location ^~ /api/ {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header X-real-ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Request-Api $scheme://$host/api;
proxy_pass http://im_api/;
}
location ^~ /chat/ {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header X-real-ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://im_chat_api/;
}
location ^~ /im-minio-api/ {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_connect_timeout 300;
proxy_http_version 1.1;
proxy_set_header Connection "";
chunked_transfer_encoding off;
proxy_pass http://minio_s3/;
}
}配置 MinIO 外网地址
- 源码部署:修改
config/minio.yml中的externalAddress。 - Docker Compose 部署:修改
.env中的MINIO_EXTERNAL_ADDRESS。
两种部署方式都应配置为:
https://im.yourhost.com/im-minio-api检查并重载 Nginx
nginx -t
nginx -s reload初始化 OpenIMClientSDK
apiAddr: https://im.yourhost.com/api
wsAddr: wss://im.yourhost.com/msg_gateway网关路径
| 路径 | 后端服务 |
|---|---|
/api/* | OpenIMServer API,端口 10002 |
/msg_gateway | OpenIMServer WebSocket,端口 10001 |
/chat/* | ChatServer API,端口 10008 |
/im-minio-api/* | MinIO 对象存储,端口 10005 |
当前模板没有代理 APP 管理员接口。需要将 10009 统一到域名入口时,应额外配置对应的 upstream 和 location。