Netscaler URL переписать
Контекст: у меня мало опыта работы с Netscaler, и я только начинаю его использовать. Одна из первых работ, которые мне дали, - это то, что я подумал, что это будет просто. Мне нужно, чтобы URL http://www.example.com/subdomain/foo/bar перенаправлен на http://subdomain.example.com/foo/bar. Я надеюсь, что профессионал Netscaler просто выбьет этого из парка.
Вот что у меня так далеко:
add rewrite action RW_TEST replace "HTTP.REQ.URL.QUERY.NAME_VALUE(\"www.example.com/subdomain\")" "\"subdomain.example.com\"" -comment "Test redirect"
add rewrite policy RW_POL_TEST "HTTP.REQ.URL.CONTAINS(\"www.example.com/subdomain\")" RW_TEST
Бит / foo / bar должен оставаться нетронутым как часть исходного запроса и конечного пункта назначения - я просто хочу переписать бит субдомена. Если вышеупомянутое выглядит хорошо, пожалуйста, предложите это сделать или предложите улучшения. Надеюсь это понятно.
Насколько я понимаю, это требует привязки к vserver, что, кажется, легче!
1 ответ
Вопрос, легко ли это сделать или нет, заключается в том, насколько динамичными должны быть ваши перенаправления. Говоря простым языком: сколько поддоменов вы хотите поддержать для этого действия?
Если это ограниченный набор, вы можете использовать простые политики преобразования URL, что является формой перезаписи, специально доступной для подобных ситуаций.
Я могу дать вам другой, более динамичный способ, но он потребует много дополнительного кода. Динамический путь основан на CoreLogic, платформе, которую я и мой коллега создали для использования в Citrix NetScaler. Вы можете узнать больше об этом на https://netscalerrocks.com/netscaler/netscaler-core-logic-10-3-changes-enhancements/