centos 7.2 python 2.7.5 WSGIServer 无法传递密钥文件参数
centos 7.2 python 2.7.5 WSGIServer can't deliver keyfile argument
专家。
我正在使用 ssl 创建一个 python 服务器。
所以,我正在使用 gevent.pywsgi.WSGIServer。
但是当我尝试传递密钥文件时,它不会传递给 _ssl.c 这是 python.
的 c 库
我的代码如下..
rack.append(WSGIServer(('', conf.ssl_port), application, backlog=2500,
keyfile=conf.keyfile, certfile=conf.certfile))
当然,密钥文件有正确的值。但是当达到 _ssl.c 的代码时
load_cert_chain_args
在该函数的 PyString_Check 上,keyfile argumnet 出现分段错误。 (可以确认/Python-2.7.5/Module/_ssl.c + 2695行)
当我确认 load_cert_chain_args' keyfile arg 时,我可以看到这个日志。
keyfile=keyfile@entry=(远程 0xd231d4 未知)
但是当我确认这段记忆的价值时
x/s 0xd231d4L : "correct string is in here"
我不知道为什么会这样..虽然在内存中有关于密钥文件的正确值。
如果这是可分页问题..也许我无法使用 gdb 查看密钥文件值。
但我不知道为什么 _ssl.c 的 load_cert_chain 进行分段
故障(PyString_Check(密钥文件))。
虽然我可以看到内存中的值,但我不知道为什么 gdb 在远程日志中仍然未知。
我在 Centos 7 上使用 Python 2.7.5 并使用 python-gevent 1.0-2.el7).
谢谢。
终于找到答案了
当我使用安装在 CentOS 7.2 中的 Python 2.7.5-34 时,
将纯字符串而不是 PyObject 传递给 _ssl.c python c 模块。
为了解决我的问题,下面link真的很有帮助。
https://github.com/gevent/gevent/issues/702
谢谢!
专家。
我正在使用 ssl 创建一个 python 服务器。 所以,我正在使用 gevent.pywsgi.WSGIServer。 但是当我尝试传递密钥文件时,它不会传递给 _ssl.c 这是 python.
的 c 库我的代码如下..
rack.append(WSGIServer(('', conf.ssl_port), application, backlog=2500,
keyfile=conf.keyfile, certfile=conf.certfile))
当然,密钥文件有正确的值。但是当达到 _ssl.c 的代码时
load_cert_chain_args
在该函数的 PyString_Check 上,keyfile argumnet 出现分段错误。 (可以确认/Python-2.7.5/Module/_ssl.c + 2695行)
当我确认 load_cert_chain_args' keyfile arg 时,我可以看到这个日志。
keyfile=keyfile@entry=(远程 0xd231d4 未知)
但是当我确认这段记忆的价值时
x/s 0xd231d4L : "correct string is in here"
我不知道为什么会这样..虽然在内存中有关于密钥文件的正确值。
如果这是可分页问题..也许我无法使用 gdb 查看密钥文件值。
但我不知道为什么 _ssl.c 的 load_cert_chain 进行分段 故障(PyString_Check(密钥文件))。
虽然我可以看到内存中的值,但我不知道为什么 gdb 在远程日志中仍然未知。
我在 Centos 7 上使用 Python 2.7.5 并使用 python-gevent 1.0-2.el7).
谢谢。
终于找到答案了
当我使用安装在 CentOS 7.2 中的 Python 2.7.5-34 时,
将纯字符串而不是 PyObject 传递给 _ssl.c python c 模块。
为了解决我的问题,下面link真的很有帮助。
https://github.com/gevent/gevent/issues/702
谢谢!