Citrix NetScaler CPX: переключение подготовки контента

Контекст

Я работаю над POC для клиента, который включает Citrix Netscaler. Вся моя демонстрация - этоdocker-compose.yml с участием:

  • разные СУБД
  • некоторые веб-сервисы
  • мое решение для мониторинга (графана, прометей, телеграф)

Я хотел бы использовать это изображение в качестве обратного прокси для веб-служб и контролировать эту службу с помощью prometheus.

Нужно

Я хотел бы настроить так, чтобы для запуска демонстрации не требовалось никаких действий вручную. В контекстеnginx, Я бы просто смонтировал соответствующий файл conf где-нибудь в/etc/nginx/conf.d. Использование Citrixnetscaler, Я не уверен

Вкратце, я хотел бы иметь возможность маршрутизировать HTTP-запросы к различным веб-службам, переопределяя некоторый файл конфигурации, например:

  netscaler: 
    image: store/citrix/netscalercpx:12.0-56.20
    container_name: ws-netscaler
    ports:
      - 444:443
      - 81:80
    expose: 
      - 161
    volumes:
      - ./netscaler/some.conf:/nsconfig/some.conf:ro  # what I am trying to achieve
    environment: 
      - EULA=yes
    cap_add:
      - NET_ADMIN
    ulimits:
      nproc: 1

Об этом конкретном изображении

Похоже, что все netscaler связанные файлы здесь

root@61baa67a839f:/# ls /netscaler
cli_script.sh      nitro             ns_service_stop  nscli_linux    nsconmsg      nsnetsvc       nssslgen               pitboss
docker_startup.sh  ns_reboot         nsaggregatord    nsconfigaudit  nslinuxtimer  nsppe          nstraceaggregator      showtechsupport.pl
netscaler.conf     ns_service_start  nsapimgr         nsconfigd      nslped        nssetup_linux  nstracemergenclean.sh  snmpd

и здесь

root@61baa67a839f:/# ls -R nsconfig
nsconfig:
dns  monitors  nsboot.conf  snmpd.conf  ssl

nsconfig/dns:

nsconfig/monitors:

nsconfig/ssl:
ns-root.cert  ns-root.req  ns-server.cert  ns-server.req         ns-sftrust-root.key  ns-sftrust-root.srl  ns-sftrust.der  ns-sftrust.req
ns-root.key   ns-root.srl  ns-server.key   ns-sftrust-root.cert  ns-sftrust-root.req  ns-sftrust.cert      ns-sftrust.key  ns-sftrust.sig

На основе nsboot.confсодержание

root@61baa67a839f:/# cat /nsconfig/nsboot.conf 
add route 0 0  172.18.0.1
set rnat 192.0.0.0 255.255.255.0 -natip  172.18.0.2
add ssl certkey ns-server-certificate -cert ns-server.cert -key ns-server.key
set tcpprofile nstcp_default_profile mss  1460
set ns hostname 61baa67a839f

и эта документация, я предполагаю, что это будет то место. Правильно ли я так предполагаю?

редактировать

Отмена nsboot.conf не работал должным образом, поскольку этот файл вполне вероятно написан entrypoint.sh. Я получаю несколько определений. Кажется, что правильный способ сделать это - ввести/etc/cpx.conf( источник).

# /etc/cpx.conf
WS_ADDRESS=$(getent hosts some_web_service | awk '{ print $1 }')
add cs vserver some_ws HTTP $WS_ADDRESS 5000

Но я не могу получить доступ к ресурсу через netscaler (в основном потому, что я еще не понимаю NetScaler CLI)

$ curl http://localhost:5000/hello                                                                 
Hello, World!% 
$ curl http://localhost:81/some_ws/hello
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /some_ws/hello was not found on this server.</p>
</body></html>

0 ответов

Другие вопросы по тегам