Я тестирую экземпляр Amazon EC2 (Amazon Linux AMI 2011.09, загрузка EBS, 32-разрядная архитектура с инструментами Amazon EC2 AMI.), Чтобы проверить, будет ли он соответствовать моим целям.

Я написал небольшой бэкэнд на Ruby (который отлично работает на моем Mac), используя eventmachine и em-http-request.

Когда я пытаюсь запустить это на экземпляре EC2, я получаю следующую ошибку:

what(): Шифрование недоступно на этой машине событий

Я почти уверен, что это как-то связано с em-http-запросом, потому что я получаю вывод журнала, который находится перед запросом https.

Я читал в Интернете, что это как-то связано с тем, что машина событий связывается с openssl, и мне интересно, как мне это сделать?

На данный момент я устанавливаю инструменты разработчика с:

sudo yum groupinstall "Инструменты разработки"

Рубин:

sudo yum установить ruby-devel

Затем я устанавливаю rubygems с этим:

wget http://...rubygems.1.8.15.tgz

tar -xvf rubygems.1.8.15

cd rubygems.1.8.15

ruby setup.rb

Установка драгоценных камней:

sudo gem установить eventmachine

sudo gem установить em-http-запрос

Кажется, все это работает нормально, ошибок пока нет. Ошибка возникает, когда я пытаюсь запустить файл ruby.

Есть идеи?

2 ответа2

0

Оказывается, предварительная версия EventMachine поддерживает SSL без каких-либо дополнительных шагов.

Может быть установлен с:

gem install eventmachine --pre

Убедитесь, что вы также удалили старый EventMachine, иначе он используется вместо этого.

0

Я не пользуюсь этим программным обеспечением, но обнаружил примечание к выпуску eventmachine 0.12.8, в котором говорится:

EM.ssl? will check if the reactor was built with ssl support

Этот поток предлагает следующий код:

EM.ssl?
  puts "yes"
else
  puts "no"
end

Если вы получили "нет", вам нужно скомпилировать свою собственную машину событий или использовать другую версию.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .