Saiba de qual IP estão saindo as suas chamadas REST feitas via Banco de Dados Oracle/APEX
Já faz tempo que você tem vem utilizando o UTL_HTTP direto do banco de dados e o o MAKE_REST_REQUEST do APEX. Porém, certo dia, você precisa fazer uma chamada REST para um fornecedor que não aceita qualquer conexão, o firewall dele só aceita os IPs previamente liberados. Ele te pergunta qual o seu IP público e você fica mudo porque está acessando o banco de dados pelo IP interno e não faz ideia de qual seja o IP pelo qual ele sai para a internet. É, aconteceu comigo também. Vou colocar a solução aqui. Coisa bem simples e rápida. A primeira coisa que iremos fazer é uma chamada HTTP para o ipify. Ele vai retornar o teu IP como resposta. SET SERVEROUTPUT ON DECLARE l_response CLOB ; BEGIN --Se estiver na rodando em Autonomous Database, você precisa trocar para HTTPS. l_response := UTL_HTTP . REQUEST ( ' http://api.ipify.org ' ); DBMS_OUTPUT . PUT_LINE ( ' Meu IP: ' || l_response ); END ; É isso. O IP retornado pelo ipify é o IP público que o seu Banco de Dados Oracle está usando para acessar a internet. Esse é o IP que você pode enviar ao seu fornecedor para que ele seja liberado na whitelist. Teve algum erro de permissão para acessar? Peça para o DBA liberar o ipify para o seu owner. Não tem DBA? Pode seguir com os comandos abaixo com SYS (se estiver em ambiente de produção é bom que entenda o que fazem os comando abaixo, para não correr risco de perder qualquer configuraçao): SELECT * FROM DBA_NETWORK_ACLS ; BEGIN DBMS_NETWORK_ACL_ADMIN . CREATE_ACL ( acl => ' ipify.xml ' , description => ' Permissoes para acessar a api.ipify.org ' , principal => ' YOUR_OWNER ' , is_grant => TRUE , privilege => ' connect ' ); END ; BEGIN DBMS_NETWORK_ACL_ADMIN . ASSIGN_ACL ( ' ipify.xml ' , ' *.ipify.org ' ); END ; BEGIN DBMS_NETWORK_ACL_ADMIN . ADD_PRIVILEGE ( acl => ' ipify.xml ' , principal => ' YOUR_OWNER ' , is_grant => TRUE , privilege => ' connect ' , position => null ); END ; Se esse pequeno artigo te serviu para alguma coisa ou se algo não funcionou como esperado, comenta aq