Mediu inconjurator
Versiunea serverului: Apache/2.4.6 (CentOS)
Am două servere care sunt aproape duplicate.
aaa.com. și bbb.com.
Au aproape aceleași seturi de reguli Apache.
aaa.com. config
<Location "/serviceEndpoint/">
ProxyPass http://localhost:8100/serviceEndpoint/
ProxyPassReverse http://localhost:8100/serviceEndpoint/
</Location>
<Location "/fruit/apple">
ProxyPass "/fruit/apple" "http://localhost:8100/serviceEndpoint/fruit/apple"
ProxyPassReverse "/fruit/apple" "http://localhost:8100/serviceEndpoint/fruit/apple"
</Location>
Asa de /serviceEndpoint este un serviciu care folosește portul 8100 și /fructe/măr este un servlet al acestuia.
bbb.com. config
<VirtualHost _default_:80>
ProxyPass "/serviceEndpoint/" "http://localhost:20100/serviceEndpoint/"
ProxyPassReverse "/serviceEndpoint/" "http://localhost:20100/serviceEndpoint/"
ProxyPass "/fruit/apple" "http://localhost:20100/serviceEndpoint/fruit/apple"
ProxyPassReverse "/fruit/apple" "http://localhost:20100/serviceEndpoint/fruit/apple"
</VirtualHost>
Arată la fel, dar se află în VirtualHost:80, dacă asta face ceva diferit.
(*editez am testat folosind aceeași configurație, dar rezultatul a fost același)
Problemă
Ambii aaa.com/fruit/apple sau bbb.com/fruit/apple lucrează bine.
Dar, atunci când serviciul de utilizare response.sendRedirect()(java) și redirecționează browserul către /fructe/măr,
numai aaa.com. lucrări şi bbb.com. încearcă să conecteze literal http://localhost:20100/fruit/apple din browserul clientului.
aaa.com antetul răspunsului de redirecționare
HTTP/1.1 302
Data: Luni, 09 mai 2022 08:01:29 GMT
Server: Apache
X-Frame-Options: SAMEORIGIN
Strict-Transport-Securitate: max-age=63072000; include SubDomains
Locație: /fruit/#!/some_controller
Lungimea conținutului: 0
Set-Cookie: JSESSIONID=4EA61F0E6031621E540DBDC9F6C54D64; Cale=/serviceEndpoint; Numai Http
Set-Cookie: JSESSIONID=4EA61F0E6031621E540DBDC9F6C54D64; Sigur; HttpOnly; SameSite=Strict
X-XSS-Protecție: 1; mod=bloc
Keep-Alive: timeout=15, max=95
Conexiune: Keep-Alive
bbb.com antetul răspunsului de redirecționare
HTTP/1.1 302
Data: Luni, 09 mai 2022 08:01:29 GMT
Server: Apache-Coyote/1.1
X-Frame-Options: SAMEORIGIN
Strict-Transport-Securitate: max-age=63072000; include SubDomains
Locație: http://localhost:20100/fruit/#!/some_controller
Lungimea conținutului: 0
Set-Cookie: JSESSIONID=4EA61F0E6031621E540DBDC9F6C54D64; Cale=/serviceEndpoint; Numai Http
Set-Cookie: JSESSIONID=4EA61F0E6031621E540DBDC9F6C54D64; Sigur; HttpOnly; SameSite=Strict
Keep-Alive: timeout=15, max=95
Conexiune: Keep-Alive
Întrebare
Din setările Apache, ce poate cauza acest comportament și cum ar trebui să remediez acest lucru?