python – 如何通过xmlrpc安全地获得对supervisord的编程访问?

python – 如何通过xmlrpc安全地获得对supervisord的编程访问?,第1张

概述我需要能够以编程方式管理supervisord设置.此外,系统上的任何用户都不应该能够访问supervisord的配置.出于这个原因,需要以某种方式保证通信. 我知道supervisord以XML-RPC的形式提供编程访问.我阅读了文档并试图以多种方式使用它,但我一直遇到问题. >在Introduction page上,文档建议为XML-RPC接口运行HTTP服务器,并使用Python标准库xml 我需要能够以编程方式管理supervisord设置.此外,系统上的任何用户都不应该能够访问supervisord的配置.出于这个原因,需要以某种方式保证通信.

我知道supervisord以XML-RPC的形式提供编程访问.我阅读了文档并试图以多种方式使用它,但我一直遇到问题.

>在Introduction page上,文档建议为XML-RPC接口运行http服务器,并使用Python标准库xmlrpclib与之通信.这里有两个问题:

> supervisord.conf的inet_http_server指令仅包含用户名,密码和端口作为设置.没有选项可以加密连接.
> xmlrpclib甚至不支持用户名和密码.当我使用语法username:password @ host:port时,我得到IOError:不支持的XML-RPC协议.正如您在文档页面上的示例中所看到的,不会进行身份验证.

>由于UNIX套接字是安全的,我认为用xmlrpclib连接到[unix_http_server]是个好主意.不过,我不知道身份验证的工作方式,而且xmlrpclib只支持网络http / httpS服务器.
>文档中的另一页提到了一个supervisor.rpcinterface模块.但是我无法在Python中访问这样的东西.为了收集有关原因的更多信息,我用Pip重新安装了supervisord. sudo pip install –upgrade supervisor.在pip输出中,我看到/usr/local/lib/python2.6/dist-packages/supervisor/__init__.py(命名空间包)的跳过安装行.我不知道它为什么会跳过命名空间包的安装.

我应该如何以编程方式安全地与supervisord进行通信?

解决方法 Supervisor支持在Unix域套接字上设置权限的选项.

http://supervisord.org/configuration.html#unix-http-server-section-example

我不知道详细信息,但您应该能够通过UNIX域套接字调用xmlrpc接口,方法与supervisorctl.py相同.它调用options.getServerProxy()来获取xmlrpclib.ServerProxy对象.

https://github.com/Supervisor/supervisor/blob/master/supervisor/supervisorctl.py#L188

总结

以上是内存溢出为你收集整理的python – 如何通过xmlrpc安全地获得对supervisord的编程访问?全部内容,希望文章能够帮你解决python – 如何通过xmlrpc安全地获得对supervisord的编程访问?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1196532.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-03
下一篇2022-06-03

发表评论

登录后才能评论

评论列表(0条)

    保存