haproxy Masquer l'URL de la pièce du serveur

Est-il possible de masquer l'URL du serveur interne en utilisant haproxy? Chemin de l'URL du serveur interne:

[url=https://backend:8443/backend_url]https://backend:8443/backend_url[/url](/.*)

Je voudrais enregistrer le chemin URL dans le navigateur comme toujours,

[url=https://haproxy/haproxy_url]https://haproxy/haproxy_url[/url](/.*)

L'application backend fonctionne dans tomcat et a certains j_spring_security_check, qui enfreint l'écrasement et la proxuration normaux, alors j'essaie d'utiliser haproxy Pour son proxy inverse. J'ai aussi besoin de réutiliser le port 443 sur haproxy Pour plusieurs applications, et haproxy Place un certificat organisationnel avec des panneaux génériques pour tout le trafic entrant SSL.

Dans mon URL de configuration actuelle haproxy Change S.

[url=https://haproxy/haproxy_url]https://haproxy/haproxy_url[/url](.)

à

[url=https://haproxy/backend_url]https://haproxy/backend_url[/url](/.*)

.

Comment puis-je l'enregistrer toujours

[url=https://haproxy/haproxy_url]https://haproxy/haproxy_url[/url](/.*)

?

Ma configuration actuelle:

frontend https-in
bind *:443 ssl crt /usr/local/etc/haproxy/ssl/domain.pem
option http-server-close
option forwardfor
reqadd X-Forwarded-Proto:\ https
reqadd X-Forwarded-Port:\ 443
# set HTTP Strict Transport Security (HTST) header
rspadd Strict-Transport-Security:\ max-age=15768000
# some ACLs and URL rewrites...
default_backend https-in-backends

backend https-in-backends
http-request set-header X-Forwarded-Host %[req.hdr(Host)]
http-request del-header X-Forwarded-Port
http-request set-header X-Forwarded-Proto https if { ssl_fc }
stick on src
stick-table type ip size 10240k expire 60m
acl no_redir url_beg /haproxy_url
reqirep ^([^\ :]*)\ /haproxy_url(.*) \1\ /backend_url\2
rspirep ^([^\ :]*)\ (.*)/haproxy_url(.*) \1\ \2/backend_url/\3
server backend_srv backend1:8443/backend_url ssl verify none


Invité:

Alice

Confirmation de:

J'ai décidé de changer la réponse au navigateur dans la configuration du backend. Je ne sais pas si c'est une voie généralement acceptée, mais il a travaillé pour moi.


rspirep ^(Location:)\ https://([^/]*)/backend_url(.*)$ \1\ https://\2/haproxy_url\3

Malheureusement, j_spring_security_check Continuent de se battre. :-(

Pour répondre aux questions, connectez-vous ou registre