Tag: netty

Clojure:使用aleph连接到TLS启用docker守护进程

我正尝试使用aleph连接到相互validation的Docker守护进程。 aleph文档显示您可以传递一个netty SSL上下文用于身份validation目的。 看来我正确地创build了SslContext,但所有的请求都closures了 (require '[aleph.http :as http]) (import '[io.netty.handler.ssl SslContext]) (import '[io.netty.handler.ssl SslProvider]) (import '[io.netty.handler.ssl SslContextBuilder]) (def ctx (doto (SslContextBuilder/forClient) (.keyManager (java.io.File. "certs/cert.pem") (java.io.File. "certs/client.pkcs8")) (.trustManager (java.io.File. "certs/ca.pem")) (.build))) (let [pool (http/connection-pool {:connection-options {:ssl-context ctx}})] @(http/get (str "http://" host ":" port "/info") {:pool pool})) 结果是:“ExceptionInfo连接已closuresclojure.core / ex-info(core.clj:4617)” 有没有人find使用TLS连接的好方法? 我已经尝试https://github.com/aphyr/less-awful-ssl,但是这并不适用于netty。 帮助thnx!

ElasticSearch端口9300连接被拒绝

我在Docker版本1.12.6中部署了Elasticsearch 5.1.2。 当我使用localhost运行telnet到服务器的9200和9300端口,然后它说连接成功。 但是,当我运行telnet到服务器的9300端口的服务器地址它说连接被拒绝。 我也尝试从我的JAVA应用程序执行一些search请求到Elasticsearch使用服务器的主机名和端口9300,然后我得到以下错误: loaded plugin [org.elasticsearch.index.reindex.ReindexPlugin] loaded plugin [org.elasticsearch.percolator.PercolatorPlugin] loaded plugin [org.elasticsearch.script.mustache.MustachePlugin] loaded plugin [org.elasticsearch.transport.Netty3Plugin] loaded plugin [org.elasticsearch.transport.Netty4Plugin] failed to connect to node [{#transport#-1}{JElPum7oR5Szj0KG45ULww}{elasticsearch}{<**serverIP**>:9300}], removed from nodes list org.elasticsearch.transport.ConnectTransportException: [][<**serverIP**>:9300] connect_timeout[30s] at org.elasticsearch.transport.netty4.Netty4Transport.connectToChannelsLight(Netty4Transport.java:340) ~[transport-netty4-client-5.1.2.jar:5.1.2] at org.elasticsearch.transport.TcpTransport.connectToNode(TcpTransport.java:410) ~[elasticsearch-5.1.2.jar:5.1.2] at org.elasticsearch.transport.TcpTransport.connectToNodeLight(TcpTransport.java:382) ~[elasticsearch-5.1.2.jar:5.1.2] at org.elasticsearch.transport.TransportService.connectToNodeLight(TransportService.java:303) ~[elasticsearch-5.1.2.jar:5.1.2] at org.elasticsearch.client.transport.TransportClientNodesService$SimpleNodeSampler.doSample(TransportClientNodesService.java:392) [elasticsearch-5.1.2.jar:5.1.2] at org.elasticsearch.client.transport.TransportClientNodesService$NodeSampler.sample(TransportClientNodesService.java:338) [elasticsearch-5.1.2.jar:5.1.2] at org.elasticsearch.client.transport.TransportClientNodesService.addTransportAddresses(TransportClientNodesService.java:179) [elasticsearch-5.1.2.jar:5.1.2] at […]

为什么我需要在netty socketio中提供主机名以及如何在docker中处理socketio?

我正在为一些项目使用netty-socketio。 我build立了一个像这样的服务器: Configuration config = new Configuration(); config.setHostname("localhost"); config.setPort(8080); SocketIOServer server = new SocketIOServer(config); server.start(); 关于这一切,我只有很less的知识,我想知道为什么我需要在这里设置主机名? 只是给港口听是不够的? 另外,如何在Docker中处理这个问题:我有我的服务器的IP地址,以及容器的虚拟IP地址,我应该给哪一个IP? 如果我有另一个服务器运行在不同的容器(但在同一台机器上),我希望这两个进行通信,如何处理所有这些IP来实现这一目标呢? 这样的沟通会如同全部在本地主机一样高效吗?

无法从networking接口find可用的硬件地址

运行Aleph(使用Netty)作为Docker容器内的websever时出现以下警告: WARNING: Failed to find a usable hardware address from the network interfaces; using random bytes: 75:62:7f:9b:c6:52:63:4b 我使用以下命令启动服务器: (defn -main [& args] (http/start-server app {:port 3000})) 我也试过: (defn -main [& args] (http/start-server app {:socket-address (java.net.InetSocketAddress. "0.0.0.0" 3000)})) 但是我仍然得到同样的警告。 警告只发生在docker集装箱内。 我可以在没有警告的情况下在我的主机上运行服务器。 我也不会得到警告,如果当我运行容器我使用docker run –net host webserver 。 真奇怪的是,尽pipe警告一切看起来运行良好。 正确的端口被绑定,服务器正常运行。 有没有人有任何想法,为什么我得到这个警告?