Ik heb een applicatieserver (SonarQube) achter een Apache reverse proxy geplaatst maar zit nu met het probleem dat na het inloggen de gebruiker op het login scherm blijft staan. Als de gebruiker daarna zelf naar de pagina root navigeerd krijgt deze een parse error te zien van een timestamp waarde.
Na wat onderzoek met de browser debugger zie ik dat het probleem te maken heeft met een AJAX call die een date/time waarde bevat die dubbel wordt ge-URL encode. Ik heb flink wat forum posts gevonden en alle resultaten (oa link) verwijzen me dat ik twee dingen moet doen om dit op te lossen:
- "AllowEncodedSlashes On" toevoegen aan de vhost config
- "nocanon" appenden aan de ProxyPass directive
Mijn huidige config is nu:
Maar desondanks is de request header via de proxy nog steeds fout:

De fout zit hem in ts=2015-10-21T11%253A10%253A36%252B0000
1x URL decode: ts=2015-10-21T11%3A10%3A36%2B0000
2x URL decode: ts=2015-10-21T11:10:36+0000
De request header van de AJAX call als ik de server rechtstreeks benader:
Ik heb Apache geupgrade naar de laatste versie (2.4.17) maar het probleem blijft bestaan. Kan iemand mij verder helpen?
Na wat onderzoek met de browser debugger zie ik dat het probleem te maken heeft met een AJAX call die een date/time waarde bevat die dubbel wordt ge-URL encode. Ik heb flink wat forum posts gevonden en alle resultaten (oa link) verwijzen me dat ik twee dingen moet doen om dit op te lossen:
- "AllowEncodedSlashes On" toevoegen aan de vhost config
- "nocanon" appenden aan de ProxyPass directive
Mijn huidige config is nu:
code:
1
2
3
4
5
6
7
8
9
| #Sonar
AllowEncodedSlashes On
<Location /sonar/>
ProxyPreserveHost On
ProxyPass http://172.16.0.127/sonar/ nocanon
ProxyPassReverse https://public-domain/sonar/
Order Allow,Deny
Allow from 213.46.
</Location> |
Maar desondanks is de request header via de proxy nog steeds fout:

code:
1
2
3
4
5
6
7
8
9
10
| GET /sonar/api/l10n/index/?locale=en_US&ts=2015-10-21T11%253A10%253A36%252B0000 HTTP/1.1 Host: appsysdev.upc.biz Connection: keep-alive Accept: application/json, text/javascript, */*; q=0.01 X-Requested-With: XMLHttpRequest User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.71 Safari/537.36 Referer: https://public-domain/sonar/ Accept-Encoding: gzip, deflate, sdch Accept-Language: en-US,en;q=0.8 Cookie: JSESSIONID=29C85B97F4757AA4BE272ECC70EABF4F |
De fout zit hem in ts=2015-10-21T11%253A10%253A36%252B0000
1x URL decode: ts=2015-10-21T11%3A10%3A36%2B0000
2x URL decode: ts=2015-10-21T11:10:36+0000
De request header van de AJAX call als ik de server rechtstreeks benader:
code:
1
2
3
4
5
6
7
8
9
10
| GET /sonar/api/l10n/index?locale=en_US&ts=2015-10-21T11%3A11%3A35%2B0000 HTTP/1.1 Host: 172.16.0.127 Connection: keep-alive Accept: application/json, text/javascript, */*; q=0.01 X-Requested-With: XMLHttpRequest User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.71 Safari/537.36 Referer: http://172.16.0.127/sonar/ Accept-Encoding: gzip, deflate, sdch Accept-Language: en-US,en;q=0.8 Cookie: JSESSIONID=85E5FA61FD00C5F1600A11092C9B9EC7 |
Ik heb Apache geupgrade naar de laatste versie (2.4.17) maar het probleem blijft bestaan. Kan iemand mij verder helpen?