Hi,
using APEX 23.1.2 on 19c with ORDS 23.2.0.177.0931.
We recently upgraded our Test System to 23.1.2 from 22.1.x and ORDS from 22.x to 23.2.
Looks like everything is working, but today i checked some pages after the upgrade and realized that some (!) branches lead to a 404 not found (worked before the APEX upgrade)
- the app does not use friendly urls.
- when i submit the page in the builder, the redirect works.
- when i submit the page from outside the builder, the redirect fails with 404
The URL for the builder is something like https://xxxx/ords/test/f?p=…
There is an apache proxy between the browser and ORDS, the virtual host config looks like
<VirtualHost 192.168.20.60:443>
ServerName xxxx
Protocols h2 h2c http/1.1
SSLEngine on
SSLCertificateFile /usr/local/etc/ssl/xxx
ProxyRequests Off
ProxyVia Off
ProxyPreserveHost On
<Proxy *>
Require all granted
</Proxy>
ProxyPass /ords ajp://192.168.20.60:8009/ords timeout=300
ProxyPassReverse /ords ajp://192.168.20.60:8009/ords timeout=300
<Location "/dev">
Order allow,deny
Allow from all
</Location>
<Location "/ords">
Order allow,deny
Allow from all
</Location>
</VirtualHost>
everything works here
The URL from outside the builder, which is located on another server, is https://yyyy/test/f?p=…
config:
<Proxy balancer://ords-test>
BalancerMember ajp://192.168.20.60:8009/ords/test
ProxySet lbmethod=byrequests
</Proxy>
<VirtualHost 10.0.0.1:80>
ServerName yyyy
Protocols h2 h2c http/1.1
Timeout 900
ProxyTimeout 900
HostnameLookups Off
UseCanonicalName Off
ProxyPreserveHost on
LogFormat "%h %l %u %t %{X-Forwarded-For}i \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %D" request_time
CustomLog "/var/log/httpd/yyyy-access.log" request_time
ProxyPassReverseCookiePath /ords/test /test
#ProxyPassReverseCookiePath / /
#ProxyPassReverseCookieDomain / /
#Header add Access-Control-Allow-Origin *;
ProxyPreserveHost On
ProxyRequests Off
ProxyPass /test balancer://ords-test
ProxyPassReverse /test http://yyyy/ords/test
RewriteEngine on
RewriteCond %{QUERY_STRING} f?p=4[0-9][0-9][0-9]
RewriteRule ^(.*)$ / [L,R=403]
</VirtualHost>
so both apache server point to the same ords install.
Now the problem - this only occours when accessing the page from the external url https://yyyy/test/f?p=….
Some, not all, redirects are coming back with an 404 error.
- Open modal page
- click submit
- page processes form data with Form - automatic row processing DML and returning the Pk into an item
- branch to:
leads to:
looks like “someone” does not rewrite /ords/test/f?p=… to /test/f?p=…
So i thought there is something wrong with the Reverse Proxy setup, but another (newly built page to test) branch does not have this problem:
So i'm running out of ideas - where to look further ?
Any ideas?
thanks in advance,
gerald