无法通过域名:18010访问Open edX Studio(CMS)故障求助
Tutor部署Open edX后CMS(Studio)18010端口无法访问排查思路
已确认LMS、CMS服务进程正常运行的前提下,按以下优先级逐次排查:
1. 本地服务连通性校验
先排除服务本身的响应问题,在部署服务器本地执行测试:
- 执行
curl http://127.0.0.1:18010查看返回结果- 本地curl无响应/返回连接拒绝:先执行
tutor config printvalue CMS_PORT确认Tutor配置中CMS服务端口是否为18010,若配置值不匹配,执行tutor config save --set CMS_PORT=18010 && tutor local restart cms重启服务后重试 - 本地curl能正常返回Studio页面代码,说明服务本身无异常,问题出在网络链路或访问规则层
- 本地curl无响应/返回连接拒绝:先执行
- 执行
ss -tulpn | grep 18010检查端口绑定地址,确认18010端口绑定在0.0.0.0而非仅本地回环地址127.0.0.1,若仅绑定回环地址,修改Tutor配置中服务绑定地址为0.0.0.0后重启服务即可。
2. 网络访问规则校验
本地服务正常但远程访问失败时,优先排查访问拦截规则:
- 云服务器部署场景:登录云服务商控制台,检查实例绑定的安全组入方向规则,确认18010/TCP端口对客户端来源IP放通,不要仅放通80、443等常规Web端口。
- 主机本地防火墙检查:
- 若使用firewalld,执行
firewall-cmd --list-ports查看已放通端口列表,无18010则执行firewall-cmd --add-port=18010/tcp --permanent && firewall-cmd --reload生效 - 若使用ufw,执行
ufw status查看规则,未放通则执行ufw allow 18010/tcp && ufw reload
- 若使用firewalld,执行
- 若服务器前端挂载了反向代理、CDN、高防等网关层,同步检查网关层的端口转发规则,确认18010端口的请求可正常透传到后端部署机的对应服务端口,不要在网关层拦截非常规端口请求。
3. CMS服务配置一致性校验
- 执行
tutor config printvalue CMS_HOST确认配置的CMS访问域名和实际使用的访问域名完全匹配,域名不匹配时会出现请求跨域拦截、无限重定向等问题,直接导致页面无法加载。 - 执行
tutor local logs cms --tail=50查看CMS服务最新日志,重点关注请求到达时的返回状态码和报错信息,常见问题包括静态资源映射错误、数据库连接异常、权限校验拦截等,根据日志对应报错修复即可。 - 若开启了全局HTTPS强制跳转,确认18010端口的SSL证书配置正确,或直接使用对应HTTPS端口访问,避免HTTP请求被强制跳转到未监听的HTTPS端口导致连接失败。
4. 通用快速修复方案
- 配置校验无异常但仍无法访问时,执行
tutor local restart全量重启服务,重建Docker网络规则即可解决大部分网络规则不生效的问题。 - 若排查发现18010端口被主机上其他服务占用,执行
tutor config save --set CMS_PORT=自定义未占用端口,保存配置后重启服务,使用新端口访问即可。 - 访问时手动补全协议头,部分浏览器会默认将带端口的域名请求解析为HTTPS协议,直接输入
http://你的域名:18010测试,避免协议不匹配导致连接失败。
内容的提问来源于stack exchange,提问作者Steve
相关产品推荐
相关产品推荐

