Oracle APEX Reverse Proxy
Olá, nesse artigo iremos ver a configuração necessária no ORDS para o reverse proxy.
Links úteis:
- APEX Documentation: https://apex.oracle.com/en/
- Download APEX: https://www.oracle.com/tools/downloads/apex-downloads/
- ORDS Documentation: https://docs.oracle.com/en/database/oracle/oracle-rest-data-services/index.html
- Blog Post: Oracle APEX Installation
- Nginx Proxy Manager: https://nginxproxymanager.com/
Pré-requisitos:
- Ter um reverse proxy configurado previamente.
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:
- Mensagem de erro em formato de texto:
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>
- standalone.http.port ⇒ Define a porta padrão do HTTP para 8080.
- standalone.https.port ⇒ Define a porta padrão do HTTPS para 8443.
- standalone.static.path ⇒ Define o diretório estático das imagens.
- Até a próxima.
Oracle APEX Reverse Proxy
— Autor: Leonardo Lopes 18/11/2024 17H:04