如何为 Ring 应用程序的嵌入式 Jetty 服务器禁用 SSLv3?
How to disable SSLv3 for embedded Jetty server for Ring application?
This answer to the Java version of this question – How to disable the SSLv3 protocol in Jetty to prevent Poodle Attack – 介绍了如何执行此操作,但是对于使用 Ring 和 Ring Jetty 适配器(使用嵌入式 Jetty 版本 7)的 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"]))))
添加到我的 -main
函数中 jetty/run-jetty
函数调用的选项映射:
:configurator jetty-configurator
我确认这似乎可以使用如下所示的 cURL 命令:
curl -v3 -X HEAD https://localhost:443
This answer to the Java version of this question – How to disable the SSLv3 protocol in Jetty to prevent Poodle Attack – 介绍了如何执行此操作,但是对于使用 Ring 和 Ring Jetty 适配器(使用嵌入式 Jetty 版本 7)的 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"]))))
添加到我的 -main
函数中 jetty/run-jetty
函数调用的选项映射:
:configurator jetty-configurator
我确认这似乎可以使用如下所示的 cURL 命令:
curl -v3 -X HEAD https://localhost:443