Autonomous Database客户托管ORDS访问APEX出现SSL长度超限错误如何解决
问题根因定位
你遇到的curl: (35) SSL received a record that exceeded the maximum permissible length.报错,核心原因是使用HTTPS协议请求了仅监听HTTP流量的服务端口:当前你配置的ORDS 8443端口大概率没有启用SSL配置,默认跑的是HTTP服务,用HTTPS协议请求时服务端返回的HTTP报文无法被客户端解析为SSL包,就会触发该错误。
解决步骤
第一步:验证ORDS端口协议配置
在部署ORDS的计算实例本地执行命令,确认各端口的监听协议:# 查看ORDS进程监听端口 netstat -tulpn | grep ords # 查看standalone模式配置文件的SSL相关参数 cat /你的ORDS部署路径/conf/standalone.properties | grep -i ssl重点核对两个核心配置:
jetty.port:该参数配置的是HTTP监听端口,默认场景下很多部署会将该值设为8443jetty.ssl.port:只有配置了该参数,对应的端口才是HTTPS监听端口
第二步:临时验证服务可用性
确认8443为HTTP端口后,改用HTTP协议访问验证ORDS服务本身是否正常:curl http://158.101.65.62:8443/ords/f?p=100若该请求能正常返回APEX页面内容,说明ORDS服务本身无异常,仅为协议与端口不匹配问题。
第三步:按需调整配置
场景1:需要使用HTTPS访问
- 准备对应域名/公网IP的SSL证书,转换为JKS或PKCS12格式的密钥库
- 编辑ORDS的standalone.properties配置文件,修改以下参数:
# 可关闭原HTTP端口(可选) jetty.port= # 指定HTTPS监听端口为8443 jetty.ssl.port=8443 # 配置密钥库路径、类型、密码 jetty.sslContext.keyStorePath=/你的密钥库存储路径/keystore.p12 jetty.sslContext.keyStoreType=PKCS12 jetty.sslContext.keyStorePassword=你设置的密钥库密码- 重启ORDS服务后,再用HTTPS协议访问即可。
场景2:仅测试使用、无需HTTPS
直接用HTTP协议+8443端口访问即可,也可以将ORDS的HTTP监听端口修改为常用的8080避免后续混淆。
额外检查项
确认计算实例的安全组、网络ACL规则已放开对应访问端口的入方向权限;如果ORDS前部署了反向代理,还要同步检查反向代理的SSL转发配置是否和ORDS端口协议匹配。
内容的提问来源于stack exchange,提问作者Nilay Panchal
相关产品推荐
相关产品推荐

