我使用Apache在EC2实例上托pipe了我的网站。 SSL也被正确设置,在HTTPS,端口443上运行。 目前,我只是使用Node.js + socket.io添加聊天应用程序到网站。 Node.js服务器在端口3333上侦听。 如何在SSL安全的情况下在同一个实例上运行两台服务器(Apache和Node.js)? Amazon EC2不允许我为HTTPS打开另一个端口。 它只允许443的HTTPS。
我开发了一个MVC Web应用程序,它具有Web API并托pipe在Amazon Instance中,一个Windows应用程序用于调用这些API以获取来自该服务器的响应。 Web和Windows应用程序都是使用c#语言在asp.net framework 4.5中开发的。 Windows应用程序安装在more than 200 client's系统中,它们是自我保护的高度安全的服务器,所有入站端口都在防火墙中被阻止。 我正在使用HttpWebRequest和BindIPEndPoint使用configuration的TCP端口范围调用Web API [default 7777-7786] 。 如果有“允许入站和出站”防火墙规则,API调用可以在Windows应用程序中正常工作。 但问题是,客户端不允许我任何入站防火墙规则,他们只允许这些端口范围的出站防火墙规则和Windows应用程序不处理阻止这些端口范围的入站规则。 是否必须打开防火墙中的入站规则,以便调用/从API获取请求/响应的端口范围? 如果不需要入站防火墙规则,那么请解释为什么? 下面是我的Windows应用程序中使用一个静态TCP端口的API调用 : try { string address = RevWatchURL; address = address + "api/GetRevGuardLatestPatch"; HttpWebRequest httpWebRequest = WebRequest.Create(address) as HttpWebRequest; httpWebRequest.ContentType = "text/json"; httpWebRequest.Method = "POST"; httpWebRequest.Timeout = 300000; httpWebRequest.ServicePoint.BindIPEndPointDelegate = new BindIPEndPoint(CommonValues.BindIPEndPointCallbackRGPatch); string enRevGuardUniqueId = […]
正在试图testing一个网站的负载能力。 我使用aws ubuntu xenial服务器t2.micro作为testing客户端,并且拥有SIEGE 3.0.8和apache基准版本2.3 而ab -c 100 -n 100000 url完成时没有问题,另一方面siege -c 100 -i -b -f urldatabase.txt -t 20m产生 ** SIEGE 3.0.8 ** Preparing 150 concurrent users for battle. The server is now under siege…[alert] socket: 470009600 select timed out: Connection timed out [alert] socket: 562329344 select timed out: Connection timed out [alert] socket: -159443200 […]
如果这个问题没有意义,请原谅我! 可以同时使用的sockets数目是否有任何理论上的限制? 根据我的理解,套接字绑定的端口和端口可以有一个高达65535的值,这是套接字计数的理论限制因素吗?
即时通讯寻找一个代理支持一个巨大的负载(如nginx或haproxy ),可以处理websockets和ssl。 我只知道nginx不支持websockets和haproxy不支持ssl卸载。 谢谢
连接完成后,ngnix不closures套接字。 我GOOGLE了,不能拿出任何东西来告诉nginxclosures这个连接,除了我下面的:keepalive_timeout 0。 在请求和响应头文件中,我可以看到Connection:close,但是socket仍然处于TIME_WAIT状态大约一分钟。 tcp 0 0 127.0.0.1:80 127.0.0.1:40345 TIME_WAIT – 这是标题: Request Headers:Connection:close Content-Type:application / x-www-form-urlencoded 响应标头:HTTP / 1.1 200 OK服务器:nginx / 0.7.67date:2011年4月21日星期四15:34:31 GMT内容types:text / xml; charset = utf-8传输编码:分块连接:closures 我的nginxconfiguration的一部分: nginxconfiguration文件:{… keepalive_timeout 0; client_max_body_size 1M; fastcgi_read_timeout 60; fastcgi_send_timeout 60; location ~ \.php$ { fastcgi_pass unix:/tmp/php-fastcgi.sock; #fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_intercept_errors on; # to support […]
我试图设置haproxy路由到后端取决于在http请求中使用的子域。 例如,我有一个运行在端口8000上的常规Web服务器和一个应用服务器,该服务器在同一个IP地址上等待8001端口上运行的websocket连接。 我现在想要的是,如果用户点击app.mydomain.com:80他被redirect到8001端口,如果他点击www.mydomain.com(或任何其他子域),他被redirect到端口8000上的networking服务器。 我想出了一个简单的configuration,我认为应该做到这一点(它基于这个问题松散): frontend all 0.0.0.0:80 timeout client 86400000 acl aclMS1 hdr_dom(host) -i app use_backend beMS1 if aclMS1 default_backend beWEB backend beMS1 timeout server 86400000 server srvMS1 localhost:8001 maxconn 200 check backend beWEB server webserver localhost:8000 maxconn 200 check 但是,这似乎是行不通的。 我总是在我的web服务器端口8000端口。我做错了什么?
我目前有一个与我的Node.js应用程序的套接字泄漏。 这个bug也贴在这里 。 我希望尽快解决这个问题。 CLOSE_WAIT和FIN_WAIT2似乎是主要问题。 Connections: 1662 ESTABLISHED: 238 CLOSE_WAIT: 770 FIN_WAIT1: 4 FIN_WAIT2: 632 以下数据是通过input(替代)如下来检索: netstat -anp | grep ${node_pid} | wc -l 我读过,你可以通过调整这些variables来解决这个问题: net.ipv4.tcp_fin_timeout ( = 60 ) net.ipv4.tcp_keepalive_time ( = 7200 ) 虽然我的tcp_fin_timeout被设置为60秒,但是我的套接字在那里保持了60秒以上。 这就是为什么我认为我应该调整tcp_keepalive_time 。 它托pipe在运行Apache和MySQL的Linux Centos 5服务器上。 我可以轻易地将tcp_keepalive_time减less到1800,还是会对Apache产生负面影响?
我试图在我的Cent OS 5.2中打开端口843 ,我添加了以下行etc\sysconfig\iptables : -A INPUT -p tcp –dport 843 -j ACCEPT 然后更新我的iptables服务。 我需要通过sudo node index.js命令来监听由root用户运行的node.js应用程序中的那个端口,但是当我尝试通过该端口build立连接时仍然会出现forbidden port错误。 这是我通过运行sudo iptables -L -v : Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 2811 238K ACCEPT tcp — any any anywhere anywhere tcp dpt:http 112 6224 ACCEPT tcp […]
我有以下结构的networking。 PC2中的服务器是8080端口的简单套接字服务器TCP。 我需要通过套接字客户端从其他外部networking访问PC2。 这个套接字客户端知道公共IP(85.xxx.xxx.x),私有IP(192.168.0.21)和端口。 如何在没有路由器端口转发的情况下访问PC2? 如果可能的话,我想在这个案例的任何编程语言中有一个参考。 附加信息