Hi!!
I'd like how I can hide the directory from the site as example bellow:
Site: http://site.com/index.php?page=items
But in the browser only show http://site.com/
Is that possible be configurated in A10?
Thanks,
Rafael Morato
Hi Rafael,
You can try this aflex example to hide internal url path on your server and expose a diferent path to the internet:
when HTTP_REQUEST {
set url [string tolower [HTTP::uri]]
if { $url starts_with "/external/url/"} {
HTTP::uri "[string map { "/external/url/“ "/internal/url/" } [ HTTP::uri]]"
}
when HTTP_RESPONSE {
if { [HTTP::is_redirect] } {
HTTP::header replace Location "[string map { "/internal/url/" "/external/url/" } [ HTTP::header Location]]"
HTTP::stream replace "/internal/url/" "/external/url/“
Hope this help!
José Serrano
Thank you José Serrano,
I'm going to try that and report here if that works or not.
Regards,
I've tried that script, but that didn't works.
I tried to run that:
if { [HTTP::is_redirect] && [HTTP::header Location] contains "/cfcc/login/login.jsp" } {
log local0. "Client [IP::client_addr] Rewriting from [HTTP::header Location]"
HTTP::header replace Location [string map -nocase "/cfcc/login/login.jsp" [HTTP::header Location]]
log local0. "Client [IP::client_addr] Rewritten to [HTTP::header Location]"
I found that in others forums, but until now I dind't find any solution which help me to hide uri from the my url site.
Checking your aFlex I see you´re only taking care of the server response and only in case of a redirect.
Also you are missing the rewrite action on the string map options
HTTP::header replace Location [string map -nocase {"/cfcc/login/login.jsp" "/"} [HTTP::header Location]]
If you want to hide an internal url your script basically need to take care of these three things:
1) Rewrite redirect locations on the server response. (HTTP::header replace Location)
2) Rewrite response hrefs on server responses html body. (you may use HTTP::stream replace)
3) Rewrite uri on the client request to translate it to the url that server-side is actually specting
If you explain the exact use case and url´s you want to convert maybe I can help with concrete tcl code needed.
Regards
My url is “www.abc.com/ABXBCCOD/opendoc.htm?document=qvw_l%5C.qvw&lang=pt-BR&host=03&anonymous=true”?
I'd like show at the browser of clients only www.abc.com
what the best aFlex to do it
The A10 GitHub has an example that may work for you: https://github.com/a10networks/aflex-collection/blob/master/url-rewrite-switch.tcl
-- John
Comments
Hi Rafael,
You can try this aflex example to hide internal url path on your server and expose a diferent path to the internet:
when HTTP_REQUEST {
set url [string tolower [HTTP::uri]]
if { $url starts_with "/external/url/"} {
HTTP::uri "[string map { "/external/url/“ "/internal/url/" } [ HTTP::uri]]"
}
}
when HTTP_RESPONSE {
if { [HTTP::is_redirect] } {
HTTP::header replace Location "[string map { "/internal/url/" "/external/url/" } [ HTTP::header Location]]"
}
HTTP::stream replace "/internal/url/" "/external/url/“
}
Hope this help!
José Serrano
Thank you José Serrano,
I'm going to try that and report here if that works or not.
Regards,
Rafael Morato
I've tried that script, but that didn't works.
I tried to run that:
when HTTP_RESPONSE {
if { [HTTP::is_redirect] && [HTTP::header Location] contains "/cfcc/login/login.jsp" } {
log local0. "Client [IP::client_addr] Rewriting from [HTTP::header Location]"
HTTP::header replace Location [string map -nocase "/cfcc/login/login.jsp" [HTTP::header Location]]
log local0. "Client [IP::client_addr] Rewritten to [HTTP::header Location]"
}
}
I found that in others forums, but until now I dind't find any solution which help me to hide uri from the my url site.
Regards,
Rafael Morato
Hi Rafael,
Checking your aFlex I see you´re only taking care of the server response and only in case of a redirect.
Also you are missing the rewrite action on the string map options
HTTP::header replace Location [string map -nocase {"/cfcc/login/login.jsp" "/"} [HTTP::header Location]]
If you want to hide an internal url your script basically need to take care of these three things:
1) Rewrite redirect locations on the server response. (HTTP::header replace Location)
2) Rewrite response hrefs on server responses html body. (you may use HTTP::stream replace)
3) Rewrite uri on the client request to translate it to the url that server-side is actually specting
If you explain the exact use case and url´s you want to convert maybe I can help with concrete tcl code needed.
Regards
Thanks,
My url is “www.abc.com/ABXBCCOD/opendoc.htm?document=qvw_l%5C.qvw&lang=pt-BR&host=03&anonymous=true”?
I'd like show at the browser of clients only www.abc.com
what the best aFlex to do it
Regards,
The A10 GitHub has an example that may work for you: https://github.com/a10networks/aflex-collection/blob/master/url-rewrite-switch.tcl
-- John