Articles of Java的

用elasticbeanstalk,java,使用rest服务器和websocket,不能连接

我正在尝试configurationnginx路由,以便能够使用其余服务器(使用Java Spark)和Websockets(使用Netty-socketIO)。 它在本地运行得非常好,但是无法在aws elasticbeanstalk上运行。 我有Java Spark监听端口5000,这是默认的http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-se-platform.html 默认情况下,Elastic Beanstalk将nginx代理configuration为在端口5000上将请求转发到您的应用程序 这是有效的。 我在端口9000上听Websocket。 我确实将ELB协议更改为TCP。 仍然从aws文件: 要扩展Elastic Beanstalk的默认nginxconfiguration,请将.confconfiguration文件添加到应用程序源包中名为.ebextensions / nginx / conf.d /的文件夹中。 Elastic Beanstalk的nginxconfiguration会自动在此文件夹中包含.conf文件。 我尝试没有太多的成功: server { location / { proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } } SocketIO客户端连接stringhttp://beanstalk-address-here.us-east-1.elasticbeanstalk.com:9000 在“networking”选项卡中,请求在发生故障之前(暂停)一段时间。

jenkins运行phing exectask。 Exectask使用ssh代理转发。 没有权限。 如何解决?

什么地方出了错 我有一个Ubuntu 12.10服务器。 我在同一台服务器上安装了Jenkins和Nginx。 Nginx应该为服务器文件提供的/ var / virtual具有www-data的权限设置:www-data 用户jenkins正在运行Jenkins软件。 这是我在phing build.xml中编写的目标 <target name="gitclone"> <echo msg="gitclone ${environment.branch} branch code to ${environment} environment" /> <exec command="ssh -A ${host-used} 'git clone -b ${repository-uri} ${environment.branch} ${environment.sitedir}${build.time}'" outputProperty="result" escape="false"/> <echo msg="${result}" /> <echo msg="update all the submodules after gitclone" /> <exec dir="${environment.sitedir}${build.time}" command="ssh -A ${host-used} 'git submodule update –init –recursive'" […]

axis2 webapp后面的反向代理产生错误的位置

Java / Tomcat中的SSLconfiguration就是这样,我configuration了一个tomcat6实例,以获取来自处理SSL的nginx反向代理的请求,代理到localhost:8080的连接。 像X-Forwarded-For一样添加标头可确保端点显示正确的地址,但不能使用正确的协议。 一个客户端(在我的情况下是python-suds)很好地检索WSDL,但是为SOAP端口find以下位置: <wsdl:service name="WebService"> <wsdl:port name="WebServiceHttpSoap11Endpoint" binding="ns:WebServiceSoap11Binding"> <soap:address location="http://10.10.3.96/axis2/services/WebService.WebServiceHttpSoap11Endpoint/"/> </wsdl:port> <wsdl:port name="WebServiceHttpSoap12Endpoint" binding="ns:WebServiceSoap12Binding"> <soap12:address location="http://10.10.3.96/axis2/services/WebService.WebServiceHttpSoap12Endpoint/"/> </wsdl:port> <wsdl:port name="WebServiceHttpEndpoint" binding="ns:WebServiceHttpBinding"> <http:address location="http://10.10.3.96/axis2/services/WebService.WebServiceHttpEndpoint/"/> </wsdl:port> </wsdl:service> 我怀疑它的http://抛出它,因为试图使用这个结果在tomcat的日志中的错误和以下消息: org.apache.axis2.AxisFault: The endpoint reference (EPR) for the Operation not found is /axis2/services/WebService.WebServiceHttpSoap11Endpoint/ and the WSA Action = null. If this EPR was previously reachable, please contact the server […]

无法从Java中的nginx反转代理获得远程IP

目前,我正面临nginx和playframework的问题。 我已经在我的播放应用程序前configuration了nginx作为反转代理。 当我尝试读取java中的客户端IP(在播放框架中)时,有时我可以得到正确的IP,但有时我会得到“0:0:0:0:0:0:0:1”,或者我得到了多个ip地址如“222.72.xxx.xxx,10.210.44.35,115.239.xxx.x”。 似乎退出有线连接,有时它有效,但经常出错。 这里是我的nginx.confconfiguration: http { ## # Basic Settings ## proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Scheme $scheme; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; # server_tokens off; # server_names_hash_bucket_size 64; # server_name_in_redirect off; upstream webapp { server localhost:9000; server localhost:9002; } server { listen 80; […]

如何连接nginx到我的java模块

我真的是这个主题的初学者,我需要一些有用的文章和你的指导。 我想要构buildRESTFul API Web服务。 作为一个http服务器selectnginx 。 但我不知道(无法find任何文章)任何关于如何将我的查询redirect到我的java模块,它处理请求,并返回JSON到nginx 。 如果我对后端types的想法不正确,请帮我弄清楚这个…

PlayFramework在http中代替httpS返回绝对url?

我已经在Play!Framework中用NGinx实现了一个只使用https的项目。 一切正常,SSL是公认的,我可以在任何地方使用我的应用程序,但玩时! 返回绝对URL,它在http中,而不是https。 这是有问题的,我不知道问题在哪里。 我尝试使用-Dhttps.port = XXXX而不是-Dhttp.port = XXXX开始播放,但并没有改变“http”而不是“https”的输出。 我怀疑Nginxconfiguration不当(我忘了参数?)。 这是我的sites-enabled/websiteconfiguration文件: proxy_buffering off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Scheme "https"; # I also tried $scheme without any luck proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_http_version 1.1; server { listen 80; server_name my.website.com; return 301 https://my.website.com; } upstream my-backend { server 127.0.0.1:9100; } server { listen 443; […]

Haproxy Bad Gateway 502

所以我在Jetty servlets之前使用了HAProxy。 目前的目标只是一切configuration完成后的概念和负载和压力testing的certificate。 不过,我有一个configurationhaproxy的问题。 我知道这不是我的应用程序的问题,因为我有nginx(tengine)运行,一切正常。 所以它必须是haproxyconfiguration的东西,或者只是haproxy的工作方式不适合我的需要。 所以我的客户端试图做的是使用两个不同的连接来连接到haproxy并保持打开状态。 1.以分块stream模式连接上传。 2.以正常模式连接并build立一个下载通道。 以下是我的haproxy.conf文件的外观: global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy stats socket /run/haproxy/admin.sock mode 660 level admin stats timeout 30s user haproxy group haproxy daemon # Default SSL material locations # ca-base /etc/ssl/certs # crt-base /etc/ssl/private # Default ciphers to use on SSL-enabled listening sockets. […]

你有什么经验使用nginx和memcached优化网站?

我们有一个在Glassfish应用服务器集群上运行的基于Java EE的Web应用程序。 传入stream量将主要是基于XML的RESTful请求,用于表示我们的应用程序资源,但是可能有5%的stream量是基于JSON或XHTML / CSS的表示forms。 我们现在正在研究负载均衡解决scheme,以便在集群中的Glassfish实例之间分配传入stream量。 我们也在研究如何使用memcached卸载集群,这是一个内存分布式哈希映射,其键是REST资源名(例如“/ user / bob”,“/ group / jazzlovers”),其值是相应的XML表示。 听起来很有希望的一种方法是一举两得,并使用轻量级,快速的nginx HTTP服务器/反向代理。 Nginx将通过首先在memcached中查找它的URI来处理每个传入的请求,以查看是否存在尚未到期的XML表示。 如果没有,nginx将请求发送到其中一个Glassfish实例。 nginx memcached模块在这个简短的介绍中有描述。 你对nginx和memcached的总体印象如何,用这种方式,你对他们有多开心? 你觉得哪些资源最有助于了解它们? 如果你尝试了他们,他们不适合你的目的,为什么不,你用什么? 注意:这是一个相关的问题 。 更新:我后来在ServerFault.com上提出了同样的问题 。 那里的答案主要是build议替代nginx(有帮助,但间接)。

使用HttpClient的客户端身份validation

试图实现客户端密钥authentication(使用自签名的CA)。 代码如下所示: KeyStore keyStore = KeyStore.getInstance("PKCS12"); keyStore.load(new FileInputStream("client.p12"), "changeit".toCharArray()) SSLContext sslcontext = SSLContexts.custom() .loadTrustMaterial(null, new TrustSelfSignedStrategy()) //DONT DO THAT, IT'S JUST TO SIMPLIFY THIS EXAMPLE. USE REAL TrustStore WITH REAL SERVER CERTIFICATE IMPORTED. DONT TRUST SELF SIGNED .loadKeyMaterial(keyStore, "changeit".toCharArray()) .build(); socketFactory = new SSLConnectionSocketFactory( sslcontext, new String[] {"TLSv1.2", "TLSv1.1"}, null, new NoopHostnameVerifier() ); HttpClient httpclient […]

java.net.SocketException:太多打开文件Spring Hibernate Tomcat

我有一个客户端生产Linode服务器上的Hibernate,Spring,Debian,Tomcat,MySql堆栈。 它是一个Spring-Multitenant应用程序,为大约30个客户端托pipe网页。 应用程序启动正常,然后过一会儿,我得到这个错误: java.net.SocketException: Too many open files at java.net.PlainSocketImpl.socketAccept(Native Method) at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390) at java.net.ServerSocket.implAccept(ServerSocket.java:453) at java.net.ServerSocket.accept(ServerSocket.java:421) at org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket(DefaultServerSocketFactory.java:60) at org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:216) at java.lang.Thread.run(Thread.java:662) 然而,在引发这个错误之前,nagios会通知我ping到服务器的停止响应。 以前,我把nginx作为代理,而且每个请求都得到这个nginx错误,不得不重新启动tomcat: 2014/04/21 12:31:28 [error] 2259#0: *2441630 no live upstreams while connecting to upstream, client: 66.249.64.115, server: abril, request: "GET /catalog.do?op=requestPage&selectedPage=-195&category=2&offSet=-197&page=-193&searchBox= HTTP/1.1", upstream: "http://appcluster/catalog.do?op=requestPage&selectedPage=-195&category=2&offSet=-197&page=-193&searchBox=", host: "www.anabocafe.com" 2014/04/21 12:31:40 [error] 2259#0: *2441641 upstream […]