Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何仅公开dockerd websocket端点?_Javascript_Docker_Websocket_Xtermjs_Docker Daemon - Fatal编程技术网

Javascript 如何仅公开dockerd websocket端点?

Javascript 如何仅公开dockerd websocket端点?,javascript,docker,websocket,xtermjs,docker-daemon,Javascript,Docker,Websocket,Xtermjs,Docker Daemon,我正在做一个服务器托管项目,客户需要能够访问docker容器的xterm虚拟终端,这将允许他们与正在运行的进程交互 为了实现这一点,我在本地网络上公开了dockerd API,从而使其完全可供Web服务器使用。本地网络上的客户端可以访问ws-attach端点,也可以访问API的其余部分,这是我当然不希望看到的副作用 我的问题是,我现在需要使websocket attach端点可以访问外部客户端,而不公开完整的api。这可能吗?如果可能,如何实现 这是一张我认为最理想的结构图 这充满了危险:通常,

我正在做一个服务器托管项目,客户需要能够访问docker容器的xterm虚拟终端,这将允许他们与正在运行的进程交互

为了实现这一点,我在本地网络上公开了dockerd API,从而使其完全可供Web服务器使用。本地网络上的客户端可以访问ws-attach端点,也可以访问API的其余部分,这是我当然不希望看到的副作用

我的问题是,我现在需要使websocket attach端点可以访问外部客户端,而不公开完整的api。这可能吗?如果可能,如何实现

这是一张我认为最理想的结构图

这充满了危险:通常,如果您可以访问Docker套接字,那么使用它来为整个主机设置根目录非常容易。如果您对如何实现这一点没有信心,我建议您使用另一种方法来构建应用程序(将其重新构造为具有网络API而不是控制台UI;允许用户ssh访问专用VM)。Ofc客户端可以直接ssh到容器中,但直接在其服务器页面上使用conosle会简单得多。WebSocket似乎是完成此任务的最佳且最无麻烦的解决方案。您确定即使所有连接都由反向代理过滤,守护程序API也可能被滥用吗;哪个仅允许通过/attach/ws请求?