问题描述
上下文
我正在为涉及 Citrix netscaler 的客户端进行POC。我的整个演示是一个docker-compose.yml
,其中:
- 不同的 DBMS
- 一些Web服务
- 我的监视解决方案(grafana,prometheus,telegraf)
我想使用this image作为网络服务的反向代理,并使用 prometheus 监视此服务。
需要
我想进行设置,以便不需要任何手动操作即可运行演示。在Nginx
的上下文中,我将简单地 mount 相关的conf文件放在/etc/Nginx/conf.d
中的某个位置。我不确定使用Citrix netscaler
- 是否有可能
- 如何进行(唯一的doc I could found显示了非常图形化/复杂的过程)
简而言之,我希望能够通过覆盖一些配置文件来将http请求路由到不同的Web服务,例如:
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
关于此特定图片
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
和this documentation,我假设这是地方。我可以这样假设吗?
编辑
覆盖nsboot.conf
不能按预期方式工作,因为该文件很可能是由entrypoint.sh
编写的。我最终得到了多个定义。似乎正确的方法是注入/etc/cpx.conf
(source)。
# /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>
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)