Как включить SSL для автономного приложения Sinatra?

Я хочу записать быстрое приложение для сервера в Sinatra. Это должно быть автономным (т.е. не использовать apache/nginx/passenger), но также и должен поддерживать SSL.

Существует ли простой способ включить поддержку SSL Sinatra (использующий WEBRick, например)?

11
задан Jacob 2 March 2010 в 09:42
поделиться

1 ответ

Используйте интерпретатор JRuby + гем jetty-rackup ( http://github.com/geekq/jetty-rackup ) Отредактируйте файл jetty-rackup в геме jetty-rackup и добавьте a SslSocketConnector, некоторый код в помощь:

    security_connector = Jetty::Security::SslSocketConnector.new
    security_connector.set_acceptors(config[:acceptor_size])
    security_connector.port = config[:port]
    security_connector.confidential_port = config[:port]
    security_connector.keystore = keystore
    security_connector.password = config[:password]
    security_connector.key_password = config[:key_password].nil? ? config[:password] : config[:key_password]
    security_connector.truststore = truststore
    security_connector.trust_password = config[:trust_pasword].nil? ? config[:password] : config[:trust_pasword]
    server.add_connector(security_connector)

Пример конфигурации:

# Config
:acceptor_size: 10
:ssl: true
:keystore: keystore.jks
:password: your_pass
# :key_password: your_pass # if different
# :truststore: truststore.jks # if different
# :trust_pasword: your_pass # if different

Создание keystore.jks: http://docs.codehaus.org/display/JETTY/How+to+configure+SSL

2
ответ дан 3 December 2019 в 09:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: