如何从APEX Developer Service调用自定义域REST-Enabled SQL Service
结论
完全可以实现,不需要访问OCI APEX Developer Service(以下简称ADS)的底层数据库或文件系统。你之前在自建APEX实例上用的ACL配置、钱包修改操作,在ADS托管环境下要么已经预置完成,要么可以通过工作区可视化界面完成,不需要高级权限。
为什么你之前的经验在ADS里不适用
- 出站ACL:ADS默认已经放开公网HTTPS出站请求的访问控制,不存在自建实例默认拦截跨域公网请求的问题,不需要手动创建ACL条目。
- 证书信任:ADS自带的默认信任钱包已经预置了所有主流公共CA的根证书,只有当你的自定义域名使用私有CA/自签名证书时才需要额外配置,这个操作不需要操作服务器文件系统。
具体操作步骤
1. 先修正最常见的配置错误
90%以上的「端点未指向REST-Enabled SQL Service」报错都是端点路径填错导致的。REST Enabled SQL的标准端点格式必须是:
https://mydomain.com/ords/<目标REST schema的别名>/_/sql
注意:路径末尾的
/_/sql不能省略,不要只填到https://mydomain.com/ords就保存。
你可以先在本地浏览器匿名访问这个地址,如果返回401 Unauthorized,说明路径正确、接口存活;如果返回404,先修正ORDS侧的schema配置和路径再往下操作。
2. 配置自定义证书信任(仅非公共CA证书需要)
如果你的mydomain.com用的是Let's Encrypt、DigiCert、GlobalSign这类公共信任CA签发的证书,直接跳过这一步。如果是私有CA签发或自签名证书,按以下路径配置:
- 登录ADS工作区,进入工作区管理后台
- 找到「Web证书管理」入口
- 选择新增证书,将你的域名根CA证书的PEM内容粘贴到文本框,保存命名即可。APEX会自动将该证书加入当前工作区的出站请求信任链,不需要操作服务器钱包文件。
3. 创建REST Enabled SQL引用
回到服务引用创建页面:
- 端点填入第一步确认的完整带
/_/sql的HTTPS地址 - 认证方式选基本认证,填入目标ORDS实例上已开启REST权限的数据库账号、密码
- SSL证书选项:公共CA证书选「默认信任库」,自定义证书选你第二步上传的证书条目
- 点击测试连接,即可正常连通。
排错参考
如果按上述步骤操作仍报错,逐一排查:
- 确认mydomain.com的公网防火墙/安全组没有拦截OCI ADS的出口IP,可临时放开0.0.0.0/0访问测试连通性
- 目标实例的ORDS版本不能低于19.1,低版本ORDS的REST SQL接口返回头不符合ADS的校验规则,会被判定为无效端点
- 目标HTTPS服务必须使用标准443端口,ADS不支持对非443端口的公网HTTPS端点发起REST SQL连接
- 确认目标schema已经正确开启REST访问权限,且对应的REST启用账号没有被锁定、密码未过期。
内容的提问来源于stack exchange,提问作者ClarenceG
相关产品推荐
相关产品推荐

