Clojure 如何为环形应用程序的嵌入式Jetty服务器禁用SSLv3?
这个问题的Java版本–包括如何做到这一点,但是对于使用Ring和使用嵌入式Jetty版本7的Ring Jetty适配器的Clojure web应用程序,有什么等效的最小代码可以做到这一点呢?以下是我添加到包含我的项目的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
-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够公平的!