与其他服务共用端口
TIP
阅读和使用本章节你必须知晓 Nginx 或其他软件的反向代理和基础的 Linux 运维知识。
如果希望 MCSManager 和其它服务使用同一个端口,有以下解决方案:
- 使用不同域名 sni 区分。
- 添加 URL 路径前缀来区服服务。
本节主要讲解第二种。
什么是 URL 路径前缀
列如:访问 MCSManager 面板时的 URL 是 http://localhost:23333/
。如果将 URL 前缀配置为 /mcsm/
,那么面板的 URL 会变为 http://localhost:23333/mcsm/
。
假设你还有一个叫 Jenkins
的服务,将路径前缀设置成了 /jenkins/
。此时你可以通过反向代理合并这两个服务。
例如,反向代理到 https://example.com[:443]
,那么,你可以通过 https://example.com/mcsm/
访问到 MCSM 面板,同时通过 https://example.com/jenkins/
访问到 Jenkins。
反向代理
Nginx 的配置参见配置 HTTPS。
现在我们要做的是修改原先配置中的 location
项。例如你的路径前缀是 /mcsm/
,那么将原先的
location / {
# ...
}
改为
location /mcsm {
# ...
}
重启 nginx 即可。
更改配置
在 Daemon 和 Web 程序的配置文件中的 prefix
项即为路径前缀配置项。
将其修改为你想要的路径前缀,然后重启 MCSM。此时你再访问,会发现已经被自动重定向到对应的添加了路径前缀的页面。
WARNING
路径前缀应该以 /
开头,如 /mcsm/
。
TIP
路径前缀末尾的 /
建议添加。
如果没加,例如 /mcsm
,那么 /mcsmapi/xxx
也会被匹配,并且被作为 /api/xxx
处理。
接下来,在 Daemon 添加了路径前缀配置并且重启之后,你会发现面板无法成功连接到远程节点。
此时,你需要进入面板中的 节点
菜单,选择对应的节点,点击 设置
按钮,填写对应的 路径前缀
项。如果填写正确,那么保存后应该可以正常连接到 Daemon 程序。