This answer к Java-версии этого вопроса - How to disable the SSLv3 protocol in Jetty to prevent Poodle Attack - охватывает, как это сделать, но что эквивалентно минимальному коду, чтобы сделать то же самое для веб-приложения Clojure с помощью Ring и адаптера Ring Jetty, который использует встроенную Jetty версии 7?Как отключить SSLv3 для встроенного сервера Jetty для приложения Ring?
0
A
ответ
2
Вот что я добавил в файл имен, содержащий -main
функцию моего проекта:
(defn is-jetty-ssl-connector?
[^org.eclipse.jetty.server.Connector c]
(= (.getName (type c)) "org.eclipse.jetty.server.ssl.SslSelectChannelConnector"))
(defn jetty-configurator
[jetty-server]
(doseq [c (filter is-jetty-ssl-connector? (.getConnectors jetty-server))]
(.addExcludeProtocols (.getSslContextFactory c) (into-array String ["SSLv3"]))))
добавлены к вариантам карты вызова в jetty/run-jetty
функции в моей -main
функции:
:configurator jetty-configurator
Я подтвердил, что это, похоже, работает с использованием команды cURL, например:
curl -v3 -X HEAD https://localhost:443
Или просто запустите Jetty 9.2.7 и получите это исключение в качестве поведения/конфигурации по умолчанию. –
@JoakimErdfelt [Я не думаю, что адаптер Ring Jetty будет использовать Jetty 9 некоторое время] (https://github.com/ring-clojure/ring/issues/177). –
Jetty 7 и Jetty 8 были EOL (End of Life) еще в 2014 году. - подала ошибку с кольцом об этом - https://github.com/ring-clojure/ring/issues/183 –