热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

我需要能够以编程方式管理supervisord设置.此外,系统上的任何用户都不应该能够访问supervisord的配置.出于这个原因,需要以某种方式保证通信.我知道supervis

我需要能够以编程方式管理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


推荐阅读
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • linux qt打开常用文件格式,设置Linux Qt文件默认打开方式为QtCreator
    Linux自定义文件打开方式也可参照文本抱歉,本文前段时间写的ubuntu下的Qt工程文件默认打开方式是不好用的,因为其他的文本文件也会受到影响,强迫症患者,每次打开Qt工程都是先 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • Ubuntu安装常用软件详细步骤
    目录1.GoogleChrome浏览器2.搜狗拼音输入法3.Pycharm4.Clion5.其他软件1.GoogleChrome浏览器通过直接下载安装GoogleChro ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • 本文介绍了在Mac上安装Xamarin并使用Windows上的VS开发iOS app的方法,包括所需的安装环境和软件,以及使用Xamarin.iOS进行开发的步骤。通过这种方法,即使没有Mac或者安装苹果系统,程序员们也能轻松开发iOS app。 ... [详细]
  • python3 nmap函数简介及使用方法
    本文介绍了python3 nmap函数的简介及使用方法,python-nmap是一个使用nmap进行端口扫描的python库,它可以生成nmap扫描报告,并帮助系统管理员进行自动化扫描任务和生成报告。同时,它也支持nmap脚本输出。文章详细介绍了python-nmap的几个py文件的功能和用途,包括__init__.py、nmap.py和test.py。__init__.py主要导入基本信息,nmap.py用于调用nmap的功能进行扫描,test.py用于测试是否可以利用nmap的扫描功能。 ... [详细]
  • 本文介绍了在Android Studio中使用命令行build gradle的方法,并解决了一些常见问题,包括手动配置gradle环境变量和解决External Native Build Issues的方法。同时提供了相关参考文章链接。 ... [详细]
  • 我无法续订几天前过期的RHELDeveloper帐户订阅。我执行了以下步骤,但是,订 ... [详细]
  • 后台自动化测试与持续部署实践
    后台自动化测试与持续部署实践https:mp.weixin.qq.comslqwGUCKZM0AvEw_xh-7BDA后台自动化测试与持续部署实践原创 腾讯程序员 腾讯技术工程 2 ... [详细]
  • 树状笔记软件for linux,Ubuntu 14.04安装开源树状笔记管理软件 WikidPad 2.2
    WikidPad是一款开源免费的wiki风格的树状笔记管理软件,类似于Notepad。基于Python,支持Windows、Mac、Linux等平台。W ... [详细]
author-avatar
支着儿traister_107
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有