Oracle APEX Reverse Proxy

Olá, nesse artigo iremos ver a configuração necessária no ORDS para o reverse proxy.

Links úteis:

Pré-requisitos:

No meu ambiente eu tenho instalado e configurado o Nginx Proxy Manager, ele oferece uma interface web bem amigável e fácil de se usar.

Nele é possível criar e configurar o proxy reverso, redirecionamentos de URLs, certificados SSL com Let's Encrypt e muito mais.

Na camada do ORDS, é necessário adicionar as “Trusted Origins” para permitir os redirecionamentos internos via reverse proxy.

ORDS Reverse Proxy Error:

Ao se tentar acessar as URLs do ORDS através do reverse proxy sem a devida configuração, nos deparamos com a seguinte mensagem de erro:

The request cannot be processed because this resource does not support Cross Origin Sharing requests, or the request Origin is not authorized to access this resource. If ords is being reverse proxied ensure the front end server is propagating the host name, for mod_proxy ensure ProxyPreserveHost is set to On

Configuração:

Adicione a seguinte entrada ao arquivo de configuração /etc/ords/config/global/settings.xml.

vi /etc/ords/config/global/settings.xml
<entry key="security.externalSessionTrustedOrigins">http://apex.dbahero.com,https://apex.dbahero.com</entry>

Segue abaixo um exemplo completo do meu arquivo de configuração 100% funcional:

cat /etc/ords/config/global/settings.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>Saved on Sat Nov 16 14:46:50 UTC 2024</comment>
<entry key="database.api.enabled">true</entry>
<entry key="security.externalSessionTrustedOrigins">http://apex.dbahero.com,https://apex.dbahero.com</entry>
</properties>

Faça um restart do serviço do ORDS para que a nova configuração tenha efeito:

sudo systemctl stop ords.service
sudo systemctl start ords.service

Enable HTTPS on /etc/ords/config/global/settings.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>Saved on Sat Nov 16 14:46:50 UTC 2024</comment>
<entry key="database.api.enabled">true</entry>
<entry key="security.externalSessionTrustedOrigins">http://apex.dbahero.com,https://apex.dbahero.com</entry>
<entry key="standalone.http.port">8080</entry>
<entry key="standalone.https.port">8443</entry>
<entry key="standalone.static.path">/u01/ords/images/</entry>
</properties>

- Até a próxima.

Oracle APEX Reverse Proxy

— Autor: Leonardo Lopes 18/11/2024 17H:04