Clojure 如何为环形应用程序的嵌入式Jetty服务器禁用SSLv3?

Clojure 如何为环形应用程序的嵌入式Jetty服务器禁用SSLv3?,clojure,jetty,embedded-jetty,ring,poodle-attack,Clojure,Jetty,Embedded Jetty,Ring,Poodle Attack,这个问题的Java版本–包括如何做到这一点,但是对于使用Ring和使用嵌入式Jetty版本7的Ring Jetty适配器的Clojure web应用程序,有什么等效的最小代码可以做到这一点呢?以下是我添加到包含我的项目的-main函数的名称空间文件中的内容: (defn is-jetty-ssl-connector? [^org.eclipse.jetty.server.Connector c] (= (.getName (type c)) "org.eclipse.jetty.serv

这个问题的Java版本–包括如何做到这一点,但是对于使用Ring和使用嵌入式Jetty版本7的Ring Jetty适配器的Clojure web应用程序,有什么等效的最小代码可以做到这一点呢?

以下是我添加到包含我的项目的
-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"]))))
:configurator jetty-configurator
添加到my
-main
函数中的
jetty/run jetty
函数调用的选项映射中:

(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"]))))
:configurator jetty-configurator
我使用如下cURL命令确认了这一点:

curl -v3 -X HEAD https://localhost:443

或者只运行Jetty 9.2.7,并将该排除作为默认行为/配置。@JoakimErdfelt.Jetty 7和Jetty 8早在2014年就已经是EOL(寿命终止)。-向ring提交了一个关于这个的bug-@JoakimErdfelt够公平的!