Oracle Cloud,从自治数据库访问计算实例上的Flask服务器



我在Oracle云计算实例上构建了一个Flask Python REST应用程序。REST调用在我的客户端上运行得很好。(我添加了0.0.0.0/0的入口规则(。

我的计划是让Comupute实例只能从我的ATP数据库访问,并从PL/SQL调用REST服务。当我尝试调用Web服务时,我会收到以下错误:

DECLARE
l_clob  CLOB;
BEGIN

l_clob := apex_web_service.make_rest_request(
p_url => 'https://130.zz.yy.xx:5000/test',
--p_url=> 'https://httpbin.org/get',
p_http_method => 'GET'
);
END;
Error report -
ORA-29273: HTTP request failed
ORA-06512: at "APEX_220100.WWV_FLOW_WEB_SERVICES", line 1182
ORA-06512: at "APEX_220100.WWV_FLOW_WEB_SERVICES", line 782
ORA-01031: insufficient privileges
ORA-06512: at "SYS.UTL_HTTP", line 380
ORA-06512: at "SYS.UTL_HTTP", line 1209
ORA-06512: at "APEX_220100.WWV_FLOW_WEB_SERVICES", line 756
ORA-06512: at "APEX_220100.WWV_FLOW_WEB_SERVICES", line 1023
ORA-06512: at "APEX_220100.WWV_FLOW_WEB_SERVICES", line 1371
ORA-06512: at "APEX_220100.WWV_FLOW_WEBSERVICES_API", line 568
ORA-06512: at line 5
29273. 00000 -  "HTTP request failed"
*Cause:    The UTL_HTTP package failed to execute the HTTP request.
*Action:   Use get_detailed_sqlerrm to check the detailed error message.
Fix the error and retry the HTTP request.

正常的REST调用工作正常。可能是什么问题?

  1. ATP由于某些网络设置而无法访问计算实例
  2. ATP对SSL设置或其他一些讨厌的HTTPS内容不满意

在自治数据库上从APEX调用RESTAPI的限制如下:https://docs.oracle.com/en/cloud/paas/atp-cloud/atpgs/autonomous-apex-web-services.html

所以。。。

  • 必须是公共端点,SSL证书必须由公共CA提供
  • 对于HTTPS,只允许使用默认端口(443(;其他端口会引发您看到的错误消息
  • ADB不支持在APEX中配置代理服务器;然后你也获得";权限不足";错误

最新更新