7

我们使用默认安装了 Python 的 EngineYard。但是,当我们启用 SSL 时,我们从 logentries 厨师食谱中收到以下错误消息。

“警告:“ssl”模块不存在。使用不可靠的解决方法,无法验证主机身份。如果可能,请安装“ssl”模块或更新版本的 Python (2.6)。”

我正在寻找一种方法来安装带有厨师食谱的 SSL 模块,但我没有足够的经验。有人能指出我正确的方向吗?

资源:Logentries 厨师食谱:https ://github.com/logentries/le_chef

Logentries 安永文档:https ://logentries.com/doc/engineyard/

SSL 模块: http: //pypi.python.org/pypi/ssl/

4

3 回答 3

14

现在似乎有一个具有更好社区支持的解决方案(基于它记录在opscode 网站上的事实)。

你可以试试:

include_recipe 'python'
python_pip 'ssl'

如记录:herehere

于 2014-07-18T16:07:22.100 回答
3

我刚刚为此编写了一个配方,现在可以在 EngineYard 上运行最新的 Logentries 客户端。干得好:

file_dir = "/mnt/src/python-ssl"
file_name = "ssl-1.15.tar.gz"
file_path = File.join(file_dir,file_name)
uncompressed_file_dir = File.join(file_dir, file_name.split(".tar.gz").first)

directory file_dir do
  owner "deploy"
  group "deploy"
  mode "0755"
  recursive true
  action :create
end

remote_file file_path do
  source "http://pypi.python.org/packages/source/s/ssl/ssl-1.15.tar.gz"
  mode "0644"
  not_if { File.exists?(file_path) }
end

execute "gunzip ssl" do
  command "gunzip -c #{file_name} | tar xf -"
  cwd file_dir
  not_if { File.exists?(uncompressed_file_dir) }
end

installed_file_path = File.join(uncompressed_file_dir, "installed")

execute "install python ssl module" do
  command "python setup.py install"
  cwd uncompressed_file_dir
  not_if { File.exists?(installed_file_path) }
end

execute "touch #{installed_file_path}" do
  action :run
end
于 2012-12-29T23:51:25.070 回答
0

您可以使用 PythonBrew 安装新的 Python:https ://github.com/utahta/pythonbrew 。只是让你在构建之前安装 libssl,否则它仍然无法使用 SSL。但是,根据警告,似乎 SSL可能有效,但无法验证主机。当然,这是 SSL 的主要目的之一,所以这很可能是行不通的。

高温高压

于 2012-11-30T19:41:38.793 回答