7

デフォルトで Python がインストールされている EngineYard を使用しています。しかし、SSL を有効にすると、Logentries の Chef レシピから次のエラー メッセージが表示されました。

「警告: 「ssl」モジュールが存在しません。信頼できない回避策を使用すると、ホスト ID を検証できません。可能であれば、「ssl」モジュールまたは新しいバージョンの Python (2.6) をインストールしてください。

シェフのレシピで SSL モジュールをインストールする方法を探していますが、十分な経験がありません。誰かが私を正しい方向に向けることができますか?

リソース: Logentries シェフのレシピ: https://github.com/logentries/le_chef

Logentries EY ドキュメント: https://logentries.com/doc/engineyard/

SSL モジュール: http://pypi.python.org/pypi/ssl/

4

3 に答える 3

14

現在、より優れたコミュニティ サポートを備えたソリューションがあるようです ( opscode Web サイトで文書化されているという事実に基づく)。

あなたは試すことができます:

include_recipe 'python'
python_pip 'ssl'

文書化されているとおり:ここまたはここ

于 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: https://github.com/utahta/pythonbrewを使用して、新しい Python をインストールできます。ビルドする前に libssl をインストールするようにしてください。そうしないと、まだ SSL を使用できません。ただし、警告に基づいて、SSLは機能する可能性があるようですが、ホストを検証することはできません。もちろん、これは SSL の主要な目的の 1 つであるため、おそらく初心者向けではありません。

HTH

于 2012-11-30T19:41:38.793 に答える